25142023-01-15 11:55:36Zoli9Videójátékcpp17Elfogadva 100/100186ms7380 KiB
//HZsófi
#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ÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1812 KiB
2Elfogadva2ms2060 KiB
subtask210/10
3Elfogadva2ms2260 KiB
4Elfogadva2ms2408 KiB
5Elfogadva2ms2664 KiB
6Elfogadva2ms2900 KiB
7Elfogadva2ms3064 KiB
8Elfogadva2ms3316 KiB
9Elfogadva2ms3348 KiB
10Elfogadva2ms3556 KiB
11Elfogadva2ms3636 KiB
subtask320/20
12Elfogadva2ms3748 KiB
13Elfogadva2ms3716 KiB
14Elfogadva2ms3824 KiB
15Elfogadva2ms3988 KiB
16Elfogadva2ms3844 KiB
17Elfogadva3ms3856 KiB
18Elfogadva3ms3852 KiB
19Elfogadva4ms3872 KiB
20Elfogadva3ms3844 KiB
21Elfogadva3ms3836 KiB
22Elfogadva2ms4064 KiB
subtask430/30
23Elfogadva14ms4416 KiB
24Elfogadva48ms5008 KiB
25Elfogadva122ms6672 KiB
26Elfogadva136ms7060 KiB
27Elfogadva136ms7292 KiB
28Elfogadva54ms5720 KiB
29Elfogadva10ms4616 KiB
30Elfogadva9ms4568 KiB
31Elfogadva7ms4528 KiB
subtask540/40
32Elfogadva16ms4812 KiB
33Elfogadva59ms5356 KiB
34Elfogadva112ms6400 KiB
35Elfogadva159ms6948 KiB
36Elfogadva186ms7380 KiB
37Elfogadva180ms7376 KiB
38Elfogadva93ms6312 KiB
39Elfogadva112ms7072 KiB
40Elfogadva28ms5024 KiB
41Elfogadva43ms5492 KiB