25082023-01-15 11:29:36Zoli9Videójátékcpp17Wrong answer 10/100185ms7240 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	int t, n;
	cin>>t>>n;
	vector<pair<int, int>> fsz(n+1);
	for(int i=1; i<n+1; i++){
		cin>>fsz[i].first;
		cin>>fsz[i].second;
	}
	int m;
	cin>>m;
	vector<pair<int, int>> haha(m+1);
	for(int i=1; i<m+1; i++){
		cin>>haha[i].first;
		cin>>haha[i].second;
	}
	int megoldas=0;
	int hszaml=1;
	for(int i=1; i<n+1; i++) {
		//itt megjön a főszereplő az i. szünetre

		/*
		amíg hszaml szünet intervallum az túl kicsi, addig fellépegetünk

		...utána most már a közös szünetes dolgokat vizsgáljuk

		...és utána ha elment a főszereplő, vagy már túl messze van a hszaml szünet, akkor kilépünk
		*/
		while(hszaml<=m && haha[hszaml].second<fsz[i].first){
			hszaml++;
		}
		if(hszaml>m) {
			break;
		}

		int fszido=fsz[i].first;
		while(1) {
			if(haha[hszaml].first>fsz[i].second){
				break;
			}
			if(fszido+t+1<haha[hszaml].first){
				break;
			}
			int mini=min(haha[hszaml].second, fsz[i].second);
			int maxi=max(haha[hszaml].first, fszido);
			megoldas+=mini-maxi+1;
			hszaml++;
			fszido=mini+1;
			if(hszaml>m) {
				break;
			}
		}
		if(hszaml>m) {
			break;
		}
	}
	cout<<megoldas;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms1816 KiB
2Accepted2ms2048 KiB
subtask210/10
3Accepted2ms2208 KiB
4Accepted2ms2452 KiB
5Accepted2ms2652 KiB
6Accepted2ms2904 KiB
7Accepted2ms3144 KiB
8Accepted2ms3224 KiB
9Accepted2ms3136 KiB
10Accepted2ms3140 KiB
11Accepted2ms3136 KiB
subtask30/20
12Wrong answer2ms3412 KiB
13Accepted2ms3516 KiB
14Wrong answer2ms3508 KiB
15Wrong answer3ms3636 KiB
16Wrong answer2ms3572 KiB
17Wrong answer3ms3532 KiB
18Wrong answer3ms3540 KiB
19Wrong answer4ms3672 KiB
20Wrong answer3ms3748 KiB
21Wrong answer3ms3872 KiB
22Wrong answer2ms3996 KiB
subtask40/30
23Wrong answer14ms4500 KiB
24Wrong answer48ms5052 KiB
25Wrong answer120ms6788 KiB
26Wrong answer135ms6980 KiB
27Wrong answer135ms6980 KiB
28Wrong answer52ms5424 KiB
29Wrong answer10ms4368 KiB
30Wrong answer9ms4364 KiB
31Accepted6ms4472 KiB
subtask50/40
32Wrong answer16ms4540 KiB
33Wrong answer59ms5220 KiB
34Wrong answer112ms6196 KiB
35Wrong answer159ms6868 KiB
36Wrong answer181ms7240 KiB
37Wrong answer185ms7240 KiB
38Wrong answer93ms6200 KiB
39Wrong answer112ms6708 KiB
40Accepted28ms4772 KiB
41Wrong answer43ms5080 KiB