#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e6 + 11;
ll n, a, b, c;
ll l[N], r[N], was[N];
__int128 val;
void solve(){
cin >> n >> a >> b;
for(ll i = 1; i <= n; i++) cin >> l[i] >> r[i];
c = a / __gcd(a, b + 1), val = c, val *= b;
if(val > 1e18){
ll ans = 0;
for(ll i = 1; i <= n; i++) ans += r[i] - l[i] + 1;
cout << ans;
return;
}
c *= b;
for(ll i = 1; i <= n; i++){
if(r[i] - l[i] + 1 >= c){
cout << c << '\n';
return;
}
}
cout << min(c, r[1] - l[1] + 1);
}
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
int tt = 1;
// cin >> tt;
while(tt--) solve();
}
# | 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... |