Submission #635818

#TimeUsernameProblemLanguageResultExecution timeMemory
635818PoonYaPatStrange Device (APIO19_strange_device)C++14
5 / 100
404 ms16848 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pll;

ll n,A,B,mod,ans;
vector<pll> v;

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0);
    cin>>n>>A>>B;
    A=A/__gcd(A,B+1);

    if (A>2e18/B || A>2e18/B) mod=2e18;
    else mod=A*B;

    while (n--) {
        ll l,r;
        cin>>l>>r;
        if (r-l+1>=mod) {
            cout<<mod;
            return 0;
        }
        l%=mod;
        r%=mod;

        if (l<=r) v.push_back(pll(l,r));
        else v.push_back(pll(l,mod-1)), v.push_back(pll(0,r));
    }

    sort(v.begin(),v.end());
    ll mmax=0;
    for (auto s : v) {
        mmax=max(mmax,s.first);
        ans+=max(0LL, s.second-mmax+1);
        mmax=max(mmax,s.second);
    }
    cout<<ans;
}
#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...