Submission #344496

#TimeUsernameProblemLanguageResultExecution timeMemory
344496limabeansTrol (COCI19_trol)C++17
50 / 50
1 ms364 KiB
#include <bits/stdc++.h>
using namespace std;

template<typename T>
void out(T x) { cout << x << endl; exit(0); }
#define watch(x) cout << (#x) << " is " << (x) << endl





using ll = long long;


const int maxn = 1e6 + 5;


int f(ll x) {
    if (x<10) return x;
    int sum = 0;
    while (x>0) {
	sum += x%10;
	x /= 10;
    }
    return f(sum);
}


ll solve(ll x) {
    if (x==0) return 0;
    //1,2,3,4..9,1,2...
    ll x0 = x/9*9 + 1;
    ll s9 = 0;
    for (int i=1; i<=9; i++) s9+=i;

    ll res= 1ll*(x/9)*s9;
    for (int i=1; i<=9 && x0<=x; i++,x0++) {
	res+=i;
    }
    return res;
}

int main() {
    ios_base::sync_with_stdio(false); cin.tie(0);  cout.tie(0);



    int t;
    cin>>t;
    while (t--) {
	ll l,r;
	cin>>l>>r;
	ll res = solve(r) - solve(l-1);
	cout<<res<<"\n";
    }
    
    
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...