Submission #582916

#TimeUsernameProblemLanguageResultExecution timeMemory
582916groshiStrange Device (APIO19_strange_device)C++17
10 / 100
564 ms77752 KiB
#include<iostream> #include<vector> #include<algorithm> #include<utility> #include<string> #include<queue> using namespace std; #define int long long vector<pair<int,int> > Q,pom; int32_t main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); long long n,a,b,x,y; cin>>n>>a>>b; for(int i=1;i<=n;i++) { cin>>x>>y; Q.push_back({x,y}); } sort(Q.begin(),Q.end()); bool cale=0; if(1e18/a>=b) for(int i=0;i<Q.size();i++) { if(Q[i].second-Q[i].first+1>=a*b) cale=1; } else{ int suma=0; for(int i=0;i<Q.size();i++) suma+=(Q[i].second-Q[i].first+1); cout<<suma; return 0; } if(cale==1) { cout<<a*b; return 0; } int cos=a*b; for(int i=0;i<Q.size();i++) { if(Q[i].second%cos>=Q[i].first%cos) pom.push_back({Q[i].first%cos,Q[i].second%cos}); else{ pom.push_back({Q[i].first%cos,cos-1}); pom.push_back({0,Q[i].second%cos}); } } sort(pom.begin(),pom.end()); int wynik=0; int maxx=-1; maxx=pom[0].second; int pocz=pom[0].first; for(int i=1;i<pom.size();i++) { if(pom[i].first>maxx) { wynik+=maxx-pocz+1; pocz=pom[i].first; maxx=pom[i].second; } else maxx=max(maxx,pom[i].second); } wynik+=maxx-pocz+1; cout<<wynik; return 0; }

Compilation message (stderr)

strange_device.cpp: In function 'int32_t main()':
strange_device.cpp:25:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |         for(int i=0;i<Q.size();i++)
      |                     ~^~~~~~~~~
strange_device.cpp:32:22: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 |         for(int i=0;i<Q.size();i++)
      |                     ~^~~~~~~~~
strange_device.cpp:43:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |     for(int i=0;i<Q.size();i++)
      |                 ~^~~~~~~~~
strange_device.cpp:57:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   57 |     for(int i=1;i<pom.size();i++)
      |                 ~^~~~~~~~~~~
#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...