题解 | #简单输出#

简单输出

https://ac.nowcoder.com/acm/problem/21612

#include<bits/stdc++.h>
#define endl '\n'
#define ll long long
using namespace std;
ll a[10];
int b[10];
void get(int n,int s)
{
    int t=0;
    int m=n,g=0;
    while(m)
    {
        t++;
        g=m%10,m/=10;
    }
    for(int i=1;i<=9;i++)a[i]+=1ll*s*b[t-1];
    for(int i=1;i<g;i++)a[i]+=1ll*s*(b[t]-b[t-1]);
    a[g]+=1ll*s*(n-g*(b[t]-b[t-1])+1);
}
void solve(int n,int op)
{
    int j;
    for(int i=1;i<=n;i=j+1)
    {
        j=n/(n/i);
        get(j,op*n/i);
        get(i-1,-op*n/i);
    }
}
int main()
{
    int l,r;
    cin>>l>>r;
    int ans=1;
    for(int i=1;i<10;i++){
        b[i]=b[i-1]+ans;
        ans*=10;
    }
    solve(r,1);
    solve(l-1,-1);
    cout<<"hello world";
}

写了四个小时的代码居然过了(滑稽)

全部评论
为什么写了这么多??
点赞 回复 分享
发布于 2023-04-02 18:28 广西
什么东西??
点赞 回复 分享
发布于 2023-04-02 18:28 广西

相关推荐

牛客48784610...:深圳的变成录用进行中,这个是稳了吗,还没有收到邮件
点赞 评论 收藏
分享
04-15 20:51
门头沟学院 Java
纳斯卡可:把名字改一下吧 千万级用户你真测过吗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务