Submission #1202461

#TimeUsernameProblemLanguageResultExecution timeMemory
1202461HasanV11010238Strange Device (APIO19_strange_device)C++20
100 / 100
1813 ms125736 KiB
#include<bits/stdc++.h> #define ll long long #define MAX 1000000000000000000 using namespace std; int main(){ ll n, a, b, mo, l, r; cin>>n>>a>>b; ll va = a / __gcd(a, b + 1); if (MAX / va < b) mo = MAX + 1; else mo = va * b; map<ll, ll> ev; bool f = 0; for (int i = 0; i < n; i++){ cin>>l>>r; if (r - l + 1 >= mo) f = 1; l %= mo, r %= mo; if (l <= r){ ev[l]++; ev[r]--; } else{ ev[0]++; ev[r]--; ev[l]++; } } if (f){ cout<<mo<<"\n"; return 0; } ev[mo]++; ll la = -1, ans = 0, pr = 0; for (auto el : ev){ if (pr == 0){ ans += max(el.first - la - 1, 0LL); } la = el.first; pr += el.second; } cout<<mo - ans; }
#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...