#include <bits/stdc++.h>
using namespace std;
#define fast ios::sync_with_stdio(0);cin.tie(0);
typedef unsigned long long ll;
#define f first
#define s second
#define LOGN 25
#define MAXN 200005
void query() {
ll l, r;
cin >> l >> r;
ll begin_res = ((l % 9 == 0) ? 9 : l % 9);
ll begin_full = l + 10 - begin_res;
ll end_res = ((r % 9 == 0) ? 9 : r % 9);
ll end_full = r - end_res;
ll ans;
if (end_full > begin_full) {
ans = 45 - begin_res*(begin_res-1)/2 + end_res*(end_res+1)/2;
ans += (end_full - begin_full + 1) * 5;
} else {
if (end_res > begin_res)
ans = end_res*(end_res+1)/2 - begin_res*(begin_res-1)/2;
else
ans = begin_res*(begin_res+1)/2 - begin_res*(begin_res-1)/2 +
end_res*(end_res+1)/2;
}
cout << ans << endl;
}
int main() {
fast
int q;
cin >> q;
while (q--) {
query();
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
212 KB |
Output isn't correct |
2 |
Correct |
1 ms |
212 KB |
Output is correct |
3 |
Incorrect |
1 ms |
212 KB |
Output isn't correct |
4 |
Correct |
1 ms |
212 KB |
Output is correct |
5 |
Correct |
1 ms |
212 KB |
Output is correct |