题解:AT_abc428_d [ABC428D] 183184
Fall_Dream · · 题解
在下文中,定义
代码:
#include<bits/stdc++.h>
#define int long long
using namespace std;
int T,d,c;
signed main(){
cin>>T;
while(T--){
cin>>c>>d;
int ans=0;
int LL=log10(c+1)+1,RR=log10(c+d)+1;
for(int i=LL;i<=RR;i++){
__int128 mul=1;
for(int j=1;j<=i;j++) mul*=10;
__int128 lx=max(1ll,(int)(mul/10)-c),rx=min(d,(int)(mul-1-c));
if(lx>rx) continue;
__int128 l=c*mul+c+lx,r=c*mul+c+rx,x1=sqrtl(l-1),x2=sqrtl(r);
ans+=x2-x1;
}
cout<<ans<<"\n";
}
}
如果有公式打错,请私信我。否则求一个赞喵