Submission #2601703


Source Code Expand

#include<iostream>
#include<algorithm>
#include<set>
#include<vector>
using namespace std;
typedef long long Int;
vector<Int> week[108000];
multiset<Int> holiday;
Int y, w, n, m, d, b, c, a[108000];
Int res;
void add_holiday(Int x){
	if(holiday.count(x)){
		holiday.insert(x);
		return;
	}
	Int left = -1;
	Int right = -1;
	multiset<Int>::iterator it;

	it = holiday.upper_bound(x);
	if(it != holiday.end())right = *it;
	if(it != holiday.begin())left = *(--it);
	holiday.insert(x);
	if(left != -1 && right != -1 && (right - left -1) <= d)return;
	res++;
	if(left != -1 && x - left - 1 <= d)res += x-left-1;
	if(right != -1 && right - x - 1 <= d)res += right-x-1;
	return;
}

void rm_holiday(Int x){
	if(holiday.count(x)>1 ){
		holiday.erase(holiday.find(x));
		return;
	}
	Int left = -1;
	Int right = -1;
	multiset<Int>::iterator it;
	it = holiday.upper_bound(x);
	if(it != holiday.end())right = *it;
	it = holiday.lower_bound(x);
	if(it != holiday.begin())left = *(--it);
	holiday.erase(x);
	if(left != -1 && right != -1 && (right - left -1) <= d)return;
	res--;
	if(left != -1 && x - left - 1 <= d)res -= x-left-1;
	if(right != -1 && right - x - 1 <= d)res -= right-x-1;
	return;
}

int main(){
	cin >> y >> w;
	cin >> n >> m >> d;
	for(Int i = 0;i < n;i++){
		cin >> a[i],a[i]--;
		add_holiday(a[i]);
	}
	for(Int i = 0;i < m;i++){
		cin >> b >> c;b--,c--;
		week[c].push_back(b);
		add_holiday(w*b+c);
	}
	for(Int i = 0;i < w;i++){
		cout << res << endl;
		for(Int j = 0;j < week[i].size();j++){
			int ww = week[i][j];
			rm_holiday(ww*w+i);
			add_holiday((ww+1)*w+i);
		}
		for(Int j = 0;j < n;j++){
			rm_holiday(a[j]+i);
			add_holiday(a[j]+i+1);
		}
	}
	return 0;
}

Submission Info

Submission Time
Task E - 祝日
User catupper
Language C++14 (Clang 3.8.0)
Score 700
Code Size 1749 Byte
Status AC
Exec Time 3654 ms
Memory 12544 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 600 / 600 100 / 100
Status
AC × 4
AC × 22
AC × 56
Set Name Test Cases
Sample sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Subtask1 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, sample-01.txt, sample-02.txt
All 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt, 02-21.txt, 02-22.txt, 02-23.txt, 02-24.txt, 02-25.txt, 02-26.txt, 02-27.txt, 02-28.txt, 02-29.txt, 02-30.txt, 02-31.txt, 02-32.txt, sample-01.txt, sample-02.txt, sample-03.txt, sample-04.txt
Case Name Status Exec Time Memory
01-01.txt AC 602 ms 11008 KB
01-02.txt AC 510 ms 10112 KB
01-03.txt AC 357 ms 8448 KB
01-04.txt AC 116 ms 4736 KB
01-05.txt AC 363 ms 9088 KB
01-06.txt AC 327 ms 8576 KB
01-07.txt AC 301 ms 8304 KB
01-08.txt AC 105 ms 4736 KB
01-09.txt AC 540 ms 9728 KB
01-10.txt AC 93 ms 4352 KB
01-11.txt AC 450 ms 10112 KB
01-12.txt AC 416 ms 9856 KB
01-13.txt AC 519 ms 10112 KB
01-14.txt AC 172 ms 6144 KB
01-15.txt AC 396 ms 9344 KB
01-16.txt AC 77 ms 2816 KB
01-17.txt AC 71 ms 4480 KB
01-18.txt AC 307 ms 8576 KB
01-19.txt AC 604 ms 11776 KB
01-20.txt AC 544 ms 10368 KB
02-01.txt AC 2310 ms 11008 KB
02-02.txt AC 792 ms 9472 KB
02-03.txt AC 1153 ms 10240 KB
02-04.txt AC 1623 ms 10368 KB
02-05.txt AC 1933 ms 11648 KB
02-06.txt AC 1181 ms 9472 KB
02-07.txt AC 305 ms 8304 KB
02-08.txt AC 286 ms 3712 KB
02-09.txt AC 2087 ms 10240 KB
02-10.txt AC 164 ms 4096 KB
02-11.txt AC 2047 ms 12544 KB
02-12.txt AC 690 ms 9728 KB
02-13.txt AC 875 ms 9344 KB
02-14.txt AC 154 ms 3840 KB
02-15.txt AC 670 ms 9216 KB
02-16.txt AC 43 ms 2816 KB
02-17.txt AC 100 ms 4480 KB
02-18.txt AC 356 ms 8576 KB
02-19.txt AC 2316 ms 11008 KB
02-20.txt AC 309 ms 8308 KB
02-21.txt AC 486 ms 3584 KB
02-22.txt AC 3 ms 2816 KB
02-23.txt AC 3654 ms 11264 KB
02-24.txt AC 1929 ms 9472 KB
02-25.txt AC 1363 ms 11520 KB
02-26.txt AC 4 ms 2816 KB
02-27.txt AC 117 ms 2944 KB
02-28.txt AC 499 ms 3200 KB
02-29.txt AC 281 ms 8320 KB
02-30.txt AC 281 ms 8320 KB
02-31.txt AC 280 ms 8320 KB
02-32.txt AC 285 ms 3072 KB
sample-01.txt AC 2 ms 2816 KB
sample-02.txt AC 2 ms 2816 KB
sample-03.txt AC 2 ms 2816 KB
sample-04.txt AC 2 ms 2816 KB