25072023-01-15 11:22:27HorakZsofiVideójátékcpp11Wrong answer 10/100180ms7368 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;
			}
		}


	}
	cout<<megoldas;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted3ms1812 KiB
2Accepted2ms2020 KiB
subtask210/10
3Accepted2ms2268 KiB
4Accepted2ms2504 KiB
5Accepted2ms2652 KiB
6Accepted2ms2696 KiB
7Accepted2ms2676 KiB
8Accepted2ms2768 KiB
9Accepted2ms2848 KiB
10Accepted2ms3092 KiB
11Accepted2ms3172 KiB
subtask30/20
12Wrong answer2ms3192 KiB
13Accepted2ms3304 KiB
14Wrong answer2ms3308 KiB
15Wrong answer2ms3332 KiB
16Wrong answer2ms3376 KiB
17Wrong answer3ms3408 KiB
18Wrong answer3ms3480 KiB
19Wrong answer4ms3492 KiB
20Wrong answer3ms3484 KiB
21Wrong answer3ms3484 KiB
22Wrong answer2ms3504 KiB
subtask40/30
23Wrong answer14ms3844 KiB
24Wrong answer48ms4472 KiB
25Wrong answer122ms6360 KiB
26Wrong answer136ms6752 KiB
27Wrong answer141ms7012 KiB
28Wrong answer52ms5400 KiB
29Wrong answer10ms4356 KiB
30Wrong answer9ms4352 KiB
31Accepted6ms4300 KiB
subtask50/40
32Wrong answer16ms4532 KiB
33Wrong answer59ms5424 KiB
34Wrong answer112ms6500 KiB
35Wrong answer159ms6972 KiB
36Wrong answer180ms7364 KiB
37Wrong answer180ms7368 KiB
38Wrong answer93ms6396 KiB
39Wrong answer114ms6720 KiB
40Accepted28ms5088 KiB
41Wrong answer43ms5616 KiB