Submission #139680

#TimeUsernameProblemLanguageResultExecution timeMemory
139680baluteshih이상한 기계 (APIO19_strange_device)C++14
100 / 100
747 ms17900 KiB
#pragma GCC optimize("O3") #include <bits/stdc++.h> #define jizz ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); #define pb push_back #define MP make_pair #define F first #define S second #define ET cout << "\n" #define MEM(i,j) memset(i,j,sizeof i) #define ALL(v) v.begin(),v.end() #define DB(a,s,e) {for(int i=s;i<e;++i) cerr << a[i] << " ";ET;} using namespace std; typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; vector<pll> v; int main() {jizz ll n,a,b,l,r,ans=0,g; __int128 cycle; cin >> n >> a >> b,g=a/__gcd(b+1,a),cycle=(__int128)g*b; for(int i=1;i<=n;++i) { cin >> l >> r; if((__int128)(r-l+1)>=cycle) return cout << (ll)cycle << "\n",0; if(l%cycle<=r%cycle) v.pb(MP((ll)l%cycle,(ll)r%cycle)); else v.pb(MP((ll)l%cycle,(ll)cycle-1)),v.pb(MP(0LL,(ll)r%cycle)); } sort(ALL(v)),r=-1; for(auto i:v) { if(i.F<=r) ans+=max(i.S-r,0LL),r=max(i.S,r); else ans+=i.S-i.F+1,r=i.S; } cout << ans << "\n"; }
#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...