2510 2023. 01. 15 11:41:31 HorakZsofi Videójáték cpp11 Elfogadva 100/100 178ms 7592 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<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;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
subtask1 0/0
1 Elfogadva 3ms 1812 KiB
2 Elfogadva 2ms 2056 KiB
subtask2 10/10
3 Elfogadva 2ms 2124 KiB
4 Elfogadva 2ms 2376 KiB
5 Elfogadva 2ms 2624 KiB
6 Elfogadva 2ms 2780 KiB
7 Elfogadva 2ms 3020 KiB
8 Elfogadva 2ms 3236 KiB
9 Elfogadva 2ms 3280 KiB
10 Elfogadva 2ms 3520 KiB
11 Elfogadva 2ms 3668 KiB
subtask3 20/20
12 Elfogadva 2ms 3868 KiB
13 Elfogadva 2ms 3948 KiB
14 Elfogadva 2ms 4180 KiB
15 Elfogadva 2ms 4292 KiB
16 Elfogadva 3ms 4496 KiB
17 Elfogadva 3ms 4496 KiB
18 Elfogadva 3ms 4456 KiB
19 Elfogadva 4ms 4464 KiB
20 Elfogadva 3ms 4464 KiB
21 Elfogadva 3ms 4692 KiB
22 Elfogadva 2ms 4788 KiB
subtask4 30/30
23 Elfogadva 14ms 4916 KiB
24 Elfogadva 48ms 5540 KiB
25 Elfogadva 119ms 7296 KiB
26 Elfogadva 133ms 7592 KiB
27 Elfogadva 133ms 7556 KiB
28 Elfogadva 52ms 5940 KiB
29 Elfogadva 10ms 4972 KiB
30 Elfogadva 9ms 4848 KiB
31 Elfogadva 6ms 4692 KiB
subtask5 40/40
32 Elfogadva 17ms 4924 KiB
33 Elfogadva 59ms 5472 KiB
34 Elfogadva 112ms 6704 KiB
35 Elfogadva 157ms 7072 KiB
36 Elfogadva 178ms 7552 KiB
37 Elfogadva 178ms 7556 KiB
38 Elfogadva 92ms 6584 KiB
39 Elfogadva 111ms 6972 KiB
40 Elfogadva 28ms 5156 KiB
41 Elfogadva 43ms 5728 KiB