Submission #1309395

#TimeUsernameProblemLanguageResultExecution timeMemory
1309395Warinchai이상한 기계 (APIO19_strange_device)C++20
35 / 100
345 ms17008 KiB
#include<bits/stdc++.h>
#define int long long
using namespace std;
vector<pair<int,int>>v;
int32_t main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int n,a,b;cin>>n>>a>>b;
    double tm=(a/__gcd(a,b+1))*b;
    long long m=1e18+5;
    if(tm<m)m=tm;
    int can=0;
    //cerr<<"m:"<<m<<"\n";
    for(int i=0;i<n;i++){
        long long l,r;cin>>l>>r;
        if(r-l+1>=m)can=1;
        l=l%m;
        r=r%m;
        if(l<=r)v.push_back({l,r});
        else v.push_back({0,r}),v.push_back({l,m-1});
    }
    sort(v.begin(),v.end());
    if(can)cout<<m;
    else{
        int en=-1;
        int ans=0;
        for(auto [l,r]:v){
            //cerr<<"l,r:"<<l<<" "<<r<<"\n";
            int st=max(en+1,l);
            ans+=max(0LL,r-st+1);
            en=max(r,en);
        }
        cout<<ans<<"\n";
    }
}
#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...