# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1254161 | bumsakalaka | Trol (COCI19_trol) | C11 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
#define int long long
int l,r,fw[100000005];
void ups(int x,int upd)
{
for(int i=x;i<=r;i+=(i&(-i)))
fw[i]+=upd;
}
int query(int u)
{
int sum=0;
for(int i=u;i>0;i-=(i&(-i)))
sum+=fw[i];
return sum;
}
signed main()
{
int t;
cin>>t;
while(t--)
{
cin>>l>>r;
for(int i=l;i<=r;i++)
{
int sum=0,j,m;
j=i;
while(j/10)
{
sum+=j%10;
j/=10;
m=log10(sum);
if(m>0) sum=sum%10+1;
}
sum+=j;
m=log10(sum);
if(m) sum=sum%10+1;
ups(i,sum);
}
cout<<query(r)-query(l-1)<<"\n";
}
}