25092023-01-15 11:38:22HorakZsofiVideójátékcpp11Wrong answer 10/100178ms7800 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;
			
			if(i+1<=n){
				if( fsz[i+1].first>haha[hszaml].second){
					hszaml++;
				} else {
					break;
				}
			}
			else{
				hszaml++;
			}
			fszido=mini+1;
			if(hszaml>m) {
				break;
			}
		}
	}
	cout<<megoldas;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Wrong answer3ms1816 KiB
2Accepted2ms2056 KiB
subtask210/10
3Accepted2ms2144 KiB
4Accepted2ms2344 KiB
5Accepted2ms2424 KiB
6Accepted2ms2556 KiB
7Accepted2ms2796 KiB
8Accepted2ms2988 KiB
9Accepted2ms3152 KiB
10Accepted2ms3328 KiB
11Accepted2ms3452 KiB
subtask30/20
12Accepted2ms3572 KiB
13Accepted2ms3772 KiB
14Accepted2ms3856 KiB
15Accepted2ms3984 KiB
16Accepted2ms4096 KiB
17Accepted3ms4196 KiB
18Accepted3ms4264 KiB
19Accepted4ms4388 KiB
20Wrong answer3ms4384 KiB
21Wrong answer3ms4456 KiB
22Wrong answer2ms4224 KiB
subtask40/30
23Accepted14ms4628 KiB
24Accepted68ms5260 KiB
25Accepted127ms6944 KiB
26Accepted133ms7336 KiB
27Accepted134ms7336 KiB
28Accepted52ms5724 KiB
29Wrong answer10ms4860 KiB
30Wrong answer9ms4804 KiB
31Accepted6ms4692 KiB
subtask50/40
32Wrong answer16ms4928 KiB
33Accepted59ms5472 KiB
34Accepted111ms6660 KiB
35Accepted157ms7228 KiB
36Accepted178ms7652 KiB
37Accepted178ms7800 KiB
38Wrong answer92ms6568 KiB
39Wrong answer109ms7036 KiB
40Accepted28ms5120 KiB
41Wrong answer43ms5392 KiB