Submission #1174817

#TimeUsernameProblemLanguageResultExecution timeMemory
1174817MuhammetStrange Device (APIO19_strange_device)C++17
100 / 100
529 ms17004 KiB
#include "bits/stdc++.h" using namespace std; #define ll long long #define SZ(s) (int)s.size() #define ff first #define ss second ll INF = LLONG_MAX; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); ll n, a, b; cin >> n >> a >> b; ll ans = 0, s = 0; vector <pair <ll, ll>> v; ll k = (a / __gcd(a, b+1LL)); k *= min(b, INF/k); for(int i = 1; i <= n; i++) { ll l, r; cin >> l >> r; if(r-l+1 >= k) { cout << k; return 0; } l %= k, r %= k; if(l <= r) { v.push_back({l, r}); } else { v.push_back({l, k-1}); v.push_back({0, r}); } } sort(v.begin(), v.end()); ll L = 0; for(auto [l, r] : v) { l = max(l, L); if(r >= L) { ans += (r - l + 1); L = r+1; } } cout << ans; 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...