Submission #782540

#TimeUsernameProblemLanguageResultExecution timeMemory
782540kebineStrange Device (APIO19_strange_device)C++17
65 / 100
596 ms36444 KiB
#include <bits/stdc++.h> #define LL long long using namespace std; int main() { LL n,a,b; scanf("%lld %lld %lld",&n,&a,&b); LL t = b*(a/__gcd(b+1,a)); if(t<0)t=1e18+5; vector<pair<LL,LL>>v; // printf("t=%lld\n",t); for(LL a=1;a<=n;a++) { LL l,r; scanf("%lld %lld",&l,&r); LL temp=l,temp2=r; l%=t ,r%=t; if(l==r) { if(temp==temp2) { v.push_back(make_pair(l,0)); v.push_back(make_pair(r,1)); } else { v.push_back(make_pair(0,0)); v.push_back(make_pair(t-1,1)); } } else if(l>r) { // printf("->%lld,%lld\n-> 0 %lld\n",l,t-1,r); // v.push_back(make_pair(l,t-1)); v.push_back(make_pair(l,0)); v.push_back(make_pair(t-1,1)); // v.push_back(make_pair(0,r)); v.push_back(make_pair(0,0)); v.push_back(make_pair(r,1)); } else { v.push_back(make_pair(l,0)); v.push_back(make_pair(r,1)); } } sort(v.begin(),v.end()); LL kanan=0,tot=0,kiri=0,cnt=0; for(pair<LL,LL>x:v) { if(x.second==0) { cnt++; if(cnt==1)kiri=x.first; } else { cnt--; if(cnt==0)tot+=(x.first-kiri+1); } } cout<<tot<<endl; }

Compilation message (stderr)

strange_device.cpp: In function 'int main()':
strange_device.cpp:49:6: warning: unused variable 'kanan' [-Wunused-variable]
   49 |   LL kanan=0,tot=0,kiri=0,cnt=0;
      |      ^~~~~
strange_device.cpp:7:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 |   scanf("%lld %lld %lld",&n,&a,&b);
      |   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
strange_device.cpp:15:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |     scanf("%lld %lld",&l,&r);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~
#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...