This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define ll long long
#define endl "\n"
#define ios ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0);
using namespace std;
int main() {
ios
int n;
cin >> n;
ll A, B;
cin >> A >> B;
ll S = 0;
ll val = A * B / __gcd(B - 1, A);
map <ll, ll> was;
ll l[n], r[n], ans = 0;
for (int i = 0; i < n; ++ i) {
cin >> l[i] >> r[i];
S += r[i] - l[i] + 1;
}
if (A > 1e18 / B + 1) {
cout << S;
return 0;
}
for (int i = 0; i < n; ++ i) {
for (int j = l[i]; j <= r[i]; ++ j) {
if (was[j % val]);
else ++ ans;
was[j % val] = 1;
}
}
cout << ans;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |