제출 #1278943

#제출 시각아이디문제언어결과실행 시간메모리
1278943janson0109이상한 기계 (APIO19_strange_device)C++20
0 / 100
13 ms8396 KiB
#include <bits/stdc++.h> #define F first #define S second #define lol ios::sync_with_stdio(false);cin.tie(NULL); typedef int ll; typedef long double ld; using namespace std; const ll M = 998244353; int main() { lol ll n, a, b; cin >> n >> a >> b; vector<pair<ll,ll>> lr(n); for(ll i=0; i<n; i++) cin >> lr[i].F >> lr[i].S; ll m = a*b/gcd(a, b-1); vector<pair<ll,ll>> in; for(ll i=0; i<n; i++) { if(lr[i].S - lr[i].F >= m - 1) {cout << m; return 0;} ll d = ((lr[i].S)/m) * m; if(d > lr[i].F) { in.push_back({lr[i].F % m, m-1}); in.push_back({0, lr[i].S % m}); } else in.push_back({lr[i].F % m, lr[i].S % m}); } sort(in.begin(), in.end()); in.push_back({m, m}); ll curmx = -1, cur = 0, ans = 0; for(auto & x : in) { if(x.F > curmx) { ans += (curmx - cur + 1); curmx = x.S, cur = x.F; } else curmx = max(x.S, curmx); } 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...