听灌多
  • 板块灌水区
  • 楼主again_q
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/17 23:25
  • 上次更新2024/8/18 10:52:16
查看原帖
听灌多
723168
again_q楼主2024/8/17 23:25

就是不知道这个点还有没有人
P4999求调90分WA18,20
疑似mod不够但实在看不出来哪里能mod了

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod=1e9+7;
int lenn(long long n){
    int cnt=0;
    while (n) {
        n/=10;
        cnt++;
    }
    return cnt;
}
long long print(long long n){
    if(!n)return 0;
    long long ans=0,u=1;
    long long tmp=n;
    int len=lenn(n);
    while (tmp) {
        u*=10;
        tmp/=10;
    }
    while(n){
        ans+=(len*9*(n/u)*u/2)%mod+((n/u)*(n/u-1)/2*u)%mod+(n/u*(n%u+1))%mod;
        ans%=mod;
        n%=u;
        len--;
        u/=10;
    }
    return ans;
}
int main(){
    long long t;
    cin>>t;
    while (t--) {
        long long l,r;
        cin>>l>>r;
        cout<<(print(r)-print(l-1)+mod)%mod<<endl;
    }
    return 0;
}
2024/8/17 23:25
加载中...