제출 #684293

#제출 시각아이디문제언어결과실행 시간메모리
684293AlexandruabcdeStrange Device (APIO19_strange_device)C++14
100 / 100
846 ms100272 KiB
#include <bits/stdc++.h> using namespace std; typedef long long LL; constexpr LL INF = 1LL * 1e18; int N; LL A, B; LL T; map <long long, int> mp; int main () { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> N >> A >> B; A = A / __gcd(A, B+1); if (A > INF / B) T = INF; else T = A * B; for (int i = 1; i <= N; ++ i ) { LL L, R; cin >> L >> R; if (R - L + 1 >= T) { cout << T << '\n'; return 0; } L = L % T; R = R % T; if (L <= R) { mp[L] ++; mp[(R+1)] --; } else { mp[L] ++; mp[T] --; mp[0] ++; mp[(R+1)] --; } } LL last = 0; int contor = 0; LL ans = 0; for (auto it : mp) { ans += (it.first - last) * (contor != 0); contor += it.second; last = it.first; } cout << ans << '\n'; 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...