Submission #139785

#TimeUsernameProblemLanguageResultExecution timeMemory
139785FedericoSStrange Device (APIO19_strange_device)C++14
5 / 100
3045 ms176760 KiB
#include <iostream> #include <set> //#include <iomanip> #include <bits/stdc++.h> using namespace std; typedef long long int ll; typedef pair<ll,ll> pll; ll N,A,B; ll L[1000006],R[1000006]; ll x,y; set<pll> S; ll G; ll ans; ll P[1000006]; bool is_in(ll x){ return P[x]; } int main(){ cin>>N>>A>>B; G=A/__gcd(A,B+1); ll M=(A*B); for(int i=0;i<N;i++){ cin>>L[i]>>R[i]; x=L[i]%M; y=R[i]%M; if(y<x){ if(R[i]-L[i]>=M) S.insert({0,M-1}); else{ S.insert({0,y}); S.insert({x,M-1}); } } else S.insert({x,y}); } for(pll p:S){ P[p.first]++; P[p.second+1]--; } for(int i=1;i<M;i++) P[i]+=P[i-1]; for(ll y=0;y<B;y++) for(ll k=0;k<G;k++) if(is_in(B*k+y)) ans++; cout<<ans; }
#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...