제출 #465481

#제출 시각아이디문제언어결과실행 시간메모리
465481alextodoran이상한 기계 (APIO19_strange_device)C++17
35 / 100
985 ms100244 KiB
/** ____ ____ ____ ____ ____ ||a |||t |||o |||d |||o || ||__|||__|||__|||__|||__|| |/__\|/__\|/__\|/__\|/__\| **/ #include <bits/stdc++.h> using namespace std; typedef long long ll; ll gcd (const ll &a, const ll &b) { if(b == 0) return a; return gcd(b, a % b); } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; ll A, B; cin >> n >> A >> B; ll per = A * B / gcd(B + 1, A); map <ll, int> mars; function <void (ll, ll)> proc = [&] (ll l, ll r) { if(r - l + 1 >= per) mars[0]++; else { l %= per; r %= per; if(l <= r) { mars[l]++; mars[r + 1]--; } else { mars[l]++; mars[per]--; mars[0]++; mars[r + 1]--; } } }; for(int i = 0; i < n; i++) { ll l, r; cin >> l >> r; proc(l, r); } mars[per] = 0; ll answer = 0; int sum = 0; ll pr = 0; for(pair <ll, int> x : mars) { if(sum > 0) answer += x.first - pr; sum += x.second; pr = x.first; } cout << answer << "\n"; return 0; }
#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...