Submission #240487

#TimeUsernameProblemLanguageResultExecution timeMemory
240487valerikkStrange Device (APIO19_strange_device)C++14
65 / 100
815 ms40260 KiB
#include<bits/stdc++.h> using namespace std; #define int long long const int INF = 2e18 + 7; int32_t main() { ios::sync_with_stdio(false); cin.tie(0); int n, a, b; cin >> n >> a >> b; a /= __gcd(a, b + 1); int p = INF / b <= a ? INF : a * b; vector<pair<int, int>> arr; while (n--) { int l, r; cin >> l >> r; l %= p; r %= p; if (l <= r) { arr.emplace_back(l, 1); arr.emplace_back(r + 1, -1); } else { arr.emplace_back(0, 1); arr.emplace_back(r + 1, -1); arr.emplace_back(l, 1); arr.emplace_back(p, -1); } } sort(arr.begin(), arr.end()); int ans = 0, bal = 0; for (int i = 0; i + 1 < arr.size(); i++) { bal += arr[i].second; if (bal > 0) ans += arr[i + 1].first - arr[i].first; } cout << ans; return 0; }

Compilation message (stderr)

strange_device.cpp: In function 'int32_t main()':
strange_device.cpp:33:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i + 1 < arr.size(); i++) {
                     ~~~~~~^~~~~~~~~~~~
#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...