Submission #252120

#TimeUsernameProblemLanguageResultExecution timeMemory
252120SugardorjStrange Device (APIO19_strange_device)C++14
15 / 100
5079 ms524292 KiB
#include <bits/stdc++.h> using namespace std; long long i,j,a,b,tt; long long x,r,m,n,s,t,k,l,y,z,v=234560; set <pair<long long,long long>> p,c,d,e; int main(){ cin >> n>>a>>b; if (b > 1){ for (i = 0; i<n; i ++){ cin >>x>>y; for (j = x; j<=y; j ++){ l = (j+j/b)%a; m=j%b; p.insert({l,m}); } } cout << p.size(); return 0; } if (a%2 == 0) a/=2; for (i = 0; i<n; i ++){ cin >>x>>y; if (y-x+1>=a){ cout << a; return 0; } x%=a; y%=a; if (x <=y){ p.insert({x,y}); } else { p.insert({0,y}); p.insert({x,a-1}); } } t = -1; while (p.size()){ auto u=*p.begin(); p.erase(*p.begin()); x=u.first; y=u.second; t=max(t,x-1); s+=max(y-t,0ll); t=max(y,t); } cout << s; }
#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...