Submission #963031

#TimeUsernameProblemLanguageResultExecution timeMemory
963031PenguinsAreCuteStrange Device (APIO19_strange_device)C++17
100 / 100
1481 ms53888 KiB
// 34 days to apio! #include <bits/stdc++.h> using namespace std; #define int long long main() { int n, a, b, p; cin >> n >> a >> b; a /= __gcd(a,b+1); if(a>1e18/b) p=1e18; else p=a * b; vector<pair<int,int>> v; for(int i=0;i<n;i++) { int l, r; cin >> l >> r; if(r-l>p) {cout<<p; return 0;} else if(l/p == r/p) v.push_back({l%p,r%p}); else { v.push_back({l%p,p-1}); v.push_back({0,r%p}); } } sort(v.begin(),v.end(),greater<pair<int,int>>()); int ans = 0; while(v.size()>=2) { if(end(v)[-2].first<=end(v)[-1].second) end(v)[-2]={end(v)[-1].first,max(end(v)[-1].second,end(v)[-2].second)}; else ans += end(v)[-1].second-end(v)[-1].first+1; v.pop_back(); } cout << ans + v[0].second - v[0].first + 1; }

Compilation message (stderr)

strange_device.cpp:5:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    5 | main() {
      | ^~~~
#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...