Submission #677225

#TimeUsernameProblemLanguageResultExecution timeMemory
677225ajab_01Strange Device (APIO19_strange_device)C++17
15 / 100
316 ms32268 KiB
#include<bits/stdc++.h>
using namespace std;
 
const int N = 1e6 + 6;
long long l[N] , r[N] , fir , las , a , b , sum = 0;
int n;
 
int main(){
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> n >> a >> b;
	if(n == 1){
		cin >> fir >> las;
		cout << ((las - fir + 1) / b >= a ? a * b : las - fir + 1) << '\n';
		return 0;
	}

	for(int i = 0 ; i < n ; i++){
		cin >> l[i] >> r[i];
		sum += r[i] - l[i] + 1;
	}
 
	if(sum < N){
		map<pair<long long , long long> , int> mp;
		for(int i = 0 ; i < n ; i++)
			for(long long j = l[i] ; j <= r[i] ; j++)
				mp[{(j + j / b) % a , j % b}]++;
		cout << (int)mp.size() << '\n';
		return 0;
	}
 
	cout << 0 << '\n';

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