Submission #391266

#TimeUsernameProblemLanguageResultExecution timeMemory
391266phathnv이상한 기계 (APIO19_strange_device)C++11
20 / 100
597 ms33256 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n; ll a, b; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> a >> b; ll k = a / __gcd(a, b + 1); ll cycle = 0; if (b > 2e18 / k) cycle = 2e18; else cycle = b * k; vector<pair<ll, int>> e; auto addSegment = [&](int l, int r){ e.push_back({l, 1}); e.push_back({r + 1, -1}); }; for(int i = 1; i <= n; i++){ ll l, r; cin >> l >> r; if (r - l + 1 >= cycle){ cout << cycle; return 0; } l %= cycle; r %= cycle; if (l <= r){ addSegment(l, r); } else { addSegment(l, cycle - 1); addSegment(0, r); } } sort(e.begin(), e.end()); int cnt = 0; ll res = 0, last = 0; for(auto p : e){ if (p.first != last){ res += (cnt > 0) * (p.first - last); last = p.first; } cnt += p.second; } cout << res; return 0; }
#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...