25072023-01-15 11:22:27HorakZsofiVideójátékcpp11Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/0
1Elfogadva3ms1812 KiB
2Elfogadva2ms2020 KiB
subtask210/10
3Elfogadva2ms2268 KiB
4Elfogadva2ms2504 KiB
5Elfogadva2ms2652 KiB
6Elfogadva2ms2696 KiB
7Elfogadva2ms2676 KiB
8Elfogadva2ms2768 KiB
9Elfogadva2ms2848 KiB
10Elfogadva2ms3092 KiB
11Elfogadva2ms3172 KiB
subtask30/20
12Hibás válasz2ms3192 KiB
13Elfogadva2ms3304 KiB
14Hibás válasz2ms3308 KiB
15Hibás válasz2ms3332 KiB
16Hibás válasz2ms3376 KiB
17Hibás válasz3ms3408 KiB
18Hibás válasz3ms3480 KiB
19Hibás válasz4ms3492 KiB
20Hibás válasz3ms3484 KiB
21Hibás válasz3ms3484 KiB
22Hibás válasz2ms3504 KiB
subtask40/30
23Hibás válasz14ms3844 KiB
24Hibás válasz48ms4472 KiB
25Hibás válasz122ms6360 KiB
26Hibás válasz136ms6752 KiB
27Hibás válasz141ms7012 KiB
28Hibás válasz52ms5400 KiB
29Hibás válasz10ms4356 KiB
30Hibás válasz9ms4352 KiB
31Elfogadva6ms4300 KiB
subtask50/40
32Hibás válasz16ms4532 KiB
33Hibás válasz59ms5424 KiB
34Hibás válasz112ms6500 KiB
35Hibás válasz159ms6972 KiB
36Hibás válasz180ms7364 KiB
37Hibás válasz180ms7368 KiB
38Hibás válasz93ms6396 KiB
39Hibás válasz114ms6720 KiB
40Elfogadva28ms5088 KiB
41Hibás válasz43ms5616 KiB