제출 #648933

#제출 시각아이디문제언어결과실행 시간메모리
648933FEDIKUSStrange Device (APIO19_strange_device)C++17
35 / 100
1670 ms83100 KiB
#include<bits/stdc++.h>

using namespace std;

typedef long long ll;

int main(){
    ll n,a,b;
    cin>>n>>a>>b;
    ll period=-1;
    if(a/__gcd(a,b+1)>2e18/b) period=1e18+10;
    period=a/__gcd(a,b+1)*b;
    map<ll,ll> ev;
    for(int i=0;i<n;i++){
        ll l,r;
        cin>>l>>r;
        if(r-l+1>=period){
            ev[0]++;
            ev[period]--;
            continue;
        }
        l%=period;
        r%=period;
        if(l<=r){
            ev[l]++;
            ev[r+1]--;
        }else{
            ev[0]++;
            ev[r+1]--;
            ev[l]++;
            ev[period]--;
        }
    }
    ll res=0;
    ll tren=0;
    ll prosli=-1;
    for(auto i:ev){
        tren+=i.second;
        if(tren>0){
            if(prosli==-1) prosli=i.first;
        }else{
            if(res!=-1) res+=i.first-prosli;
            prosli=-1;
        }
    }
    cout<<res;
    return 0;
}
#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...