Submission #558348

#TimeUsernameProblemLanguageResultExecution timeMemory
558348InternetPerson10Strange Device (APIO19_strange_device)C++17
100 / 100
774 ms85348 KiB
#include <bits/stdc++.h> typedef long long ll; using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int q; ll a, b; cin >> q >> a >> b; __int128 cyc = (__int128)a * b / __gcd(a, b + 1); ll MOD = 1e18 + 9; if(MOD > cyc) MOD = cyc; map<ll, int> m; while(q--) { ll l, r; cin >> l >> r; r++; if(r - l >= MOD) { m[0]++; m[MOD]--; } else if(r/MOD != l/MOD) { m[l%MOD]++; m[0]++; m[MOD]--; m[r%MOD]--; } else { m[l%MOD]++; m[r%MOD]--; } } ll ans = 0, x = 0; for(auto p : m) { if(x == 0) ans -= p.first; x += p.second; if(x == 0) ans += p.first; } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...