Submission #265284

#TimeUsernameProblemLanguageResultExecution timeMemory
265284HideoStrange Device (APIO19_strange_device)C++11
100 / 100
584 ms44668 KiB
//1610612741, 1000000007 //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); //#pragma GCC optimization ("O3") //#pragma GCC optimization ("unroll-loops") //#pragma GCC optimize ("Ofast") //#pragma GCC target ("avx,avx2,fma") #include <bits/stdc++.h> using namespace std; #define all(s) s.begin(), s.end() #define ok puts("ok") #define ll long long #define pb push_back #define mk make_pair #define fr first #define sc second #define vi vector < int > #define pi pair < int, int > #define pii pair < int, pi > #define next next123 #define left left123 const int N = 1e6 + 7; const int INF = 1e9 + 7; int n; ll A, B, p, ans; ll bound = 1e18; bool trigger = false; vector < pair < ll, ll > > s; main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> A >> B; p = A / __gcd(B + 1, A); if (B > bound / p) p = bound; else p *= B; for (int i = 1; i <= n; i++){ ll l, r; cin >> l >> r; if (r - l + 1 >= p) trigger = true; l %= p; r %= p; if (l > r){ s.pb({l, p - 1}); s.pb({0, r}); } else s.pb({l, r}); } if (trigger){ cout << p; return 0; } sort(all(s)); ll r = -1; for (auto it : s){ if (r < it.fr) r = it.fr - 1; ans += max(0LL, it.sc - r); r = max(r, it.sc); } cout << ans << endl; }

Compilation message (stderr)

strange_device.cpp:34:6: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   34 | 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...