Submission #131656

#TimeUsernameProblemLanguageResultExecution timeMemory
131656SwanStrange Device (APIO19_strange_device)C++14
5 / 100
733 ms18140 KiB
#include <bits/stdc++.h> #define stop system("pause") #define INP freopen("promote.in","r",stdin) #define OUTP freopen("promote.out","w",stdout) #define double long double #define int long long using namespace std; bool check(int x){ return x != -1; } map<int,int> qwe; main() { ios_base::sync_with_stdio(0); int n,a,b; cin >> n >> a >> b; int lcm; double kek = 1.0L*a*b; if(kek >= 1e18+228)lcm = 1e18+228; else lcm = a*b; vector<pair<int,int> > v; int res = 0; for(int i(0); i < n;i++){ int l,r; cin >> l >> r; /*for(int j(l); j <=r;j++){ if(qwe.count(j%lcm) == 0)res++; qwe[i%lcm]++; }*/ l%=lcm; r%=lcm; if(l <= r)v.push_back({l,r}); else{ if(check(lcm-1))v.push_back({l,lcm-1}); v.push_back({0,r}); } } sort(v.begin(),v.end()); int ans = 0; int lastx,lasty; lastx = lasty = -1; for(int i(0); i < v.size();i++){ int nx,ny; nx = max(lasty+1,v[i].first); ny = max(lasty,v[i].second); if(nx >= lcm || nx >ny)continue; ans+=ny-nx+1; lastx = nx; lasty = ny; } cout << ans; return 0; } /* 3 1000000000000000000 1000000000000000000 2 15 55 123 324 2512 */

Compilation message (stderr)

strange_device.cpp:16:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main()
      ^
strange_device.cpp: In function 'int main()':
strange_device.cpp:43:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i(0); i < v.size();i++){
                   ~~^~~~~~~~~~
strange_device.cpp:25:9: warning: unused variable 'res' [-Wunused-variable]
     int res = 0;
         ^~~
strange_device.cpp:42:9: warning: variable 'lastx' set but not used [-Wunused-but-set-variable]
     int lastx,lasty; lastx = lasty = -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...