Submission #1261874

#TimeUsernameProblemLanguageResultExecution timeMemory
1261874abulatTrol (COCI19_trol)C++20
30 / 50
0 ms328 KiB
#include <bits/stdc++.h> using namespace std; #define int long long int32_t main() { int Q; cin >> Q; while (Q--) { int l, r; cin >> l >> r; int start; int end; int sum = 0; int pref[10] = {0, 1, 3, 6, 10, 15, 21, 28, 36, 45}; int rev[9] = {0, 8, 15, 21, 26, 30, 33, 35, 36}; if (l / 9 == r / 9) { while (l <= r) { if (l % 9 == 0) sum += 9; else sum += l % 9; l++; } cout << sum << '\n'; continue; } start = l; end = r; if (start % 9 == 0) { // cout << "how\n"; start = (l / 9) * 9; } else { start = (l / 9) * 9 + 9; // cout << "rev[start-l] start, l " << start << ", " << l << '\n'; sum += rev[(start - l)]; } end = (r / 9) * 9; sum += pref[(r - end)]; if (start == end) { sum += 9; } else if (end == start + 9) { // cout << "sum: " << sum << '\n'; } else { // cout << (end / 9) << " " << (start / 9) << " haha\n"; sum += ((end / 9) - (start / 9)) * 45; sum += 9; } cout << sum << '\n'; // cout << start << " " << end << "\n"; } }
#Verdict Execution timeMemoryGrader output
Fetching results...