Submission #752826

#TimeUsernameProblemLanguageResultExecution timeMemory
752826winter0101Strange Device (APIO19_strange_device)C++14
5 / 100
324 ms53148 KiB
#include<bits/stdc++.h> using namespace std; #define all(fl) fl.begin(),fl.end() #define pb push_back #define fi first #define se second #define for1(i,j,k) for(int i=j;i<=k;i++) #define for2(i,j,k) for(int i=j;i>=k;i--) #define for3(i,j,k,l) for(int i=j;i<=k;i+=l) #define lb lower_bound #define ub upper_bound #define sz(a) (int)a.size() #define gcd __gcd #define lcm(x,y) x*y/__gcd(x,y) using pii=pair<int,int>; using pli=pair<long long,int>; using pil=pair<int,long long>; using pll=pair<long long,long long>; const int maxn=1e6+9; pll a[maxn]; signed main(){ srand(time(0)); ios_base::sync_with_stdio(0); cin.tie(0); //freopen("usaco.INP","r",stdin); //freopen("usaco.OUT","w",stdout); int n; long long x,y; cin>>n>>x>>y; for1(i,1,n){ cin>>a[i].fi>>a[i].se; } long long d=a[n].se/y; if (d<x){ long long ans=0; for1(i,1,n){ ans+=(a[i].se-a[i].fi+1); } cout<<ans; return 0; } if (n==1){ long long z=x*y; long long d=(a[1].fi)/z; a[1].fi-=z*d; a[1].se-=z*d; long long t1=a[1].fi/z,t2=a[1].se/z; if (t1+1<t2){ cout<<z; return 0; } if (t1==t2){ cout<<(a[1].se-a[1].fi+1); return 0; } pll l1={a[1].fi,z-1}; pll l2={0,a[1].se%z}; if (l1.se>=l2.fi){ cout<<z; return 0; } cout<<l1.se-l1.fi+1+l2.se-l2.fi+1; 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...