Submission #566832

#TimeUsernameProblemLanguageResultExecution timeMemory
566832AktanStrange Device (APIO19_strange_device)C++14
100 / 100
750 ms100108 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; using namespace std; template<class T> using ordered_set = tree<T, null_type,less<T>, rb_tree_tag,tree_order_statistics_node_update>; #define int long long #define ft first #define sc second const int mod=1e9+7,INF=1e18+10,N=1e5; main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,a,b; cin >> n >> a >> b; int ans=0,tot=a/__gcd(a,b+1); if(tot>INF/b){ tot=INF; } else{ tot*=b; } set<pair<int,int>> s; for(int i=0;i<n;i++){ int l,r; cin >> l >> r; if(r-l+1>=tot){ cout << tot ; return 0; } l%=tot; r%=tot; if(l<=r){ s.insert({l,r}); } else{ s.insert({l,tot-1}); s.insert({0,r}); } } int r=-1; for(auto x : s){ if(r<x.ft){ ans+=x.sc-x.ft+1; } else if(r<x.sc){ ans+=x.sc-r; } r=max(x.sc,r); } cout << ans << "\n"; }

Compilation message (stderr)

strange_device.cpp:13:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   13 | main(){
      | ^~~~
#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...