제출 #139789

#제출 시각아이디문제언어결과실행 시간메모리
139789FedericoSStrange Device (APIO19_strange_device)C++14
5 / 100
3335 ms80632 KiB
#include <iostream>
#include <map>
using namespace std;
typedef long long int ll;
typedef pair<ll,ll> pll;

ll N,A,B;
ll L[1000006],R[1000006];
ll x,y;
map<ll,ll> S;
ll ans,K;

int main(){
	cin>>N>>A>>B;
	ll M=(A*B);
	for(int i=0;i<N;i++){
		cin>>L[i]>>R[i];
		x=L[i]%M;
		y=R[i]%M;
		if(y<x){
			if(R[i]-L[i]>=M){
				S[0]++;
				S[M]--;
			}
			else{
				S[0]++;
				S[y+1]--;
				S[x]++;
				S[M]--;
			}
		}
		else{
			S[x]++;
			S[y+1]--;
		}
	}

	pll q=*S.begin();
	for(pll p:S){
		if(K) 
			ans+=p.first-q.first;
		K+=p.second;
		q=p;
	}

	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...