Submission #1308118

#TimeUsernameProblemLanguageResultExecution timeMemory
1308118harryleeeStrange Device (APIO19_strange_device)C++20
65 / 100
340 ms17108 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pii pair<int, int> #define fi first #define se second const int N = 2e3 + 5; int n, a, b, l, r; vector<pii> loj; signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> a >> b; a /= __gcd(a, b + 1); int cycle; if (a <= LLONG_MAX / b) cycle = a * b; else cycle = 4e18; for (int i = 1; i <= n; i++) { cin >> l >> r; l %= cycle; r %= cycle; if (l <= r) loj.push_back({l, r}); else { loj.push_back({l, cycle - 1}); loj.push_back({0, r}); } } sort(loj.begin(), loj.end()); l = loj[0].fi; r = loj[0].se; int ans = 0; for (int i = 1; i < loj.size(); i++) { if (loj[i].fi > r) { ans += r - l + 1; l = loj[i].fi; r = loj[i].se; } else r = max(r, loj[i].se); } ans += r - l + 1; cout << ans; }
#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...