제출 #1307613

#제출 시각아이디문제언어결과실행 시간메모리
1307613namhh이상한 기계 (APIO19_strange_device)C++20
100 / 100
422 ms17796 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; if(r-l+1 >= cycle){ cout << cycle; return 0; } 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...