Submission #206593

#TimeUsernameProblemLanguageResultExecution timeMemory
206593kshitij_sodaniStrange Device (APIO19_strange_device)C++17
35 / 100
849 ms81768 KiB
#include <iostream> #include <bits/stdc++.h> using namespace std; #define mp make_pair #define pb push_back typedef int64_t llo; #define a first #define b second #define endl "\n" llo gcd(llo kk,llo ll){ if(ll==0){ return kk; } return gcd(ll,kk%ll); } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); llo n,a,b; cin>>n>>a>>b; llo x; pair<llo,llo> it; x=b; x*=(a/gcd(a,b+1)); /* if((b+1)%a==0){ x=b; } else{ x=a*b; }*/ llo aa,bb; llo s=0; set<pair<llo,llo>> ac; for(llo i=0;i<n;i++){ cin>>aa>>bb; /*if(bb-aa+1>=x){ cout<<x<<endl; return 0; }*/ if(bb-aa+1>=x){ ac.insert(mp(0,x-1)); } aa%=x; bb%=x; if(bb<aa){ ac.insert(mp(aa,x-1)); ac.insert(mp(0,bb)); } else{ ac.insert(mp(aa,bb)); } } if(s==1){ cout<<x<<endl; } else{ vector<pair<llo,llo>> prev; for(auto cc:ac){ if(prev.size()==0){ prev.pb(cc); } else{ if(cc.a>prev.back().b){ prev.pb(cc); } else{ prev[prev.size()-1].b=max(prev[prev.size()-1].b,cc.b); } } } llo tot=0; for(llo i=0;i<prev.size();i++){ tot+=prev[i].b-prev[i].a+1; } if(s==1 and tot<x){ while(true){ int y=1; } } cout<<tot<<endl; } return 0; }

Compilation message (stderr)

strange_device.cpp: In function 'int main()':
strange_device.cpp:75:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(llo i=0;i<prev.size();i++){
               ~^~~~~~~~~~~~
strange_device.cpp:80:9: warning: unused variable 'y' [-Wunused-variable]
     int y=1;
         ^
#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...