Submission #1200090

#TimeUsernameProblemLanguageResultExecution timeMemory
1200090adiyerStrange Device (APIO19_strange_device)C++20
0 / 100
163 ms15884 KiB
#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;
    }
    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 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...