#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int main() {
ios::sync_with_stdio(false); cin.tie(nullptr);
int n;
ll A, B;
cin >> n >> A >> B;
ll L = A / __gcd(A, B + 1) * B;
map<ll, int> m;
m[0] = 0; m[L] = 0;
while (n--) {
ll l, r;
cin >> l >> r;
if (L <= r - l + 1) return cout << L, 0;
m[l % L]++;
m[r % L + 1]--;
if (r % L < l % L) {
m[0]++; m[L]--;
}
}
ll x = 0, lst = 0, ans = 0;
for (auto [i, p] : m) {
if (x) ans += i - lst;
x += p;
lst = i;
}
cout << ans;
}
# | 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... |