Submission #721461

#TimeUsernameProblemLanguageResultExecution timeMemory
721461alvingogoStrange Device (APIO19_strange_device)C++14
100 / 100
578 ms53288 KiB
#include <bits/stdc++.h> #pragma GCC optimize("Ofast") #define AquA cin.tie(0);ios_base::sync_with_stdio(0); #define fs first #define sc second #define p_q priority_queue using namespace std; long long inf=2e18; long long mul(long long x,long long y){ long long sum=inf; if(sum/x>=y-2){ sum=min(sum,x*y); } return sum; } int main(){ AquA; long long n,a,b; cin >> n >> a >> b; long long u=__gcd(a,(b+1)); a/=u; long long sum=mul(a,b); vector<pair<long long,long long> > x; for(int i=0;i<n;i++){ long long l,r; cin >> l >> r; if(r/sum>l/sum+1){ cout << sum << "\n"; return 0; } if(r/sum==l/sum){ x.push_back({l%sum,r%sum}); } else{ x.push_back({l%sum,sum-1}); x.push_back({0%sum,r%sum}); } } sort(x.begin(),x.end()); long long ans=0; long long nw=0; for(auto h:x){ nw=max(nw,h.fs); if(h.sc>=nw){ ans+=(h.sc-nw+1); } nw=max(nw,h.sc+1); } 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...