Submission #976530

#TimeUsernameProblemLanguageResultExecution timeMemory
976530vjudge1Trol (COCI19_trol)C++17
50 / 50
1 ms348 KiB
#include <iostream> #include <cstring> #include <algorithm> using namespace std; typedef long long ll; ll getID(ll n) { return (n - 1) % 9 + 1; } int main() { //JANGAN LUPA PAKAI LONG LONG! ll q; cin >> q; while (q--) { ll arr[11]; ll sub[11]; memset(arr, 0, sizeof(arr)); memset(sub, 0, sizeof(sub)); ll l, r; cin >> l >> r; if (r <= 9) { ll ans = 0; for (ll i = l; i <= r; i++) { ans += i; } cout << ans << endl; continue; } ll sisa = r % 9; arr[1] += 1; arr[sisa + 1] -= 1; ll tambah = r / 9; arr[1] += tambah; for (ll i = 2; i <= 9; i++) { arr[i] = arr[i] + arr[i - 1]; } ll sumA = 0; for (ll i = 1; i <= 9; i++) { sumA = sumA+ i * arr[i]; } //sub ll r2 = l - 1; ll sisa2 = r2 % 9; sub[1] += 1; sub[sisa2 + 1] -= 1; tambah = r2 / 9; sub[1] += tambah; for (ll i = 2; i <= 9; i++) { sub[i] = sub[i] + sub[i - 1]; } ll sumB = 0; for (ll i = 1; i <= 9; i++) { sumB = sumB + i * sub[i]; } cout << sumA - sumB << endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...