제출 #1246005

#제출 시각아이디문제언어결과실행 시간메모리
1246005hiseyamTrol (COCI19_trol)C++20
10 / 50
1 ms328 KiB
#include <iostream>
#include <cmath>
#define ll long long
using namespace std;

int Q;
long long L, R;
long long ans;

int gauss(int l, int r){
    int d = r - l + 1;
    return ((r+l) * d) / 2;
}

long long answer(int x, int b){
    long long ret = 0;
    long long y = (x+b-2) % 9 + 1;
    if (b / 9){
        ret += 45*(b/9);
        if (x != 1) ret += gauss(x, 9);
        if (y != 9) ret += gauss(1, y);
    }
    else{
        if (x + b > 9 && y - b < 1){
            ret += gauss(x, 9);
            ret += gauss(1, y);
        }
        else{
            ret += gauss(x, y);
        }

    }
    return ret;
}
int main (){
    cin >> Q;
    for (int i = 0; i < Q; i++){
        cin >> L >> R;
        ans = 0;
        
        long long b = R - L + 1;
        long long x = (L-1) % 9 + 1;
        cout << answer(x, b) << endl;
        // cout << L << " " << R << " " << x << " " << y << " " << answer(x, b) << " " << rans << endl;
        
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...