Submission #1161322

#TimeUsernameProblemLanguageResultExecution timeMemory
1161322owoovoStrange Device (APIO19_strange_device)C++20
100 / 100
280 ms17064 KiB
#include <bits/stdc++.h> #define ll long long #define ll128 __int128_t #define F first #define S second using namespace std; int main() { cin.tie(0); ios::sync_with_stdio(0); int n; ll _a,_b; cin>>n>>_a>>_b; ll128 a=_a,b=_b,c=b+1,d=a*b/__gcd(a,c),t=1e18; ll mod; if(d>1e18)mod=1e18+1; else mod=d; vector<pair<ll,ll>> vc; ll ans=0; for(int i=0;i<n;i++){ ll l,r; cin>>l>>r; if(r-l+1>=mod)ans=mod; l%=mod,r%=mod; if(r<l){ vc.push_back({0,r}); vc.push_back({l,mod-1}); }else{ vc.push_back({l,r}); } } if(ans==mod){ cout<<mod<<"\n"; return 0; } sort(vc.begin(),vc.end()); ll mx=-1; for(auto [x,y]:vc){ mx=max(mx,x-1); ans+=max(y-mx,0ll); mx=max(mx,y); } 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...