제출 #224438

#제출 시각아이디문제언어결과실행 시간메모리
224438BruteforcemanStrange Device (APIO19_strange_device)C++11
15 / 100
2190 ms53628 KiB
#include <bits/stdc++.h> using namespace std; const long long INF = 3e18; int main() { int n; long long A, B; cin >> n >> A >> B; long long per = A / __gcd(A, B + 1); if((INF / B) < per) per = INF; else per = per * B; vector <pair <long long, long long>> v; auto addRange = [&] (long long p, long long q) { v.emplace_back(q, p); }; for(int i = 0; i < n; i++) { long long p, q; cin >> p >> q; if((q - p + 1) >= per) { cout << per << endl; exit(0); } p %= per; q %= per; if(p <= q) { addRange(p, q); } else { addRange(p, per - 1); addRange(0, q); } } sort(v.begin(), v.end()); long long ans = 0; long long last = -1; for(auto i : v) { long long l = i.second; long long r = i.first; ans += r - max(last + 1, l) + 1; last = r; } cout << ans << endl; 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...