12052022-03-19 16:42:21tomi7Leghosszabb béke (75 pont)cpp11Elfogadva 75/7559ms9932 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int main() {
	int n, m;
	cin>>n>>m;
	vector<int> a(m);
	vector<int> b(m);
	for(int i=0;i<m;i++){
		cin>>a[i]>>b[i];
	}
	vector<int> kiixelo(n+1);
	/*for(int i=0;i<m;i++){
		for(int j=a[i];j<=b[i];j++){
			kiixelo[j]++;
		}
	}*/
	for(int i=0;i<m;i++){
		kiixelo[a[i]]++;
		kiixelo[b[i]]--;
	}

    int szamolo=0;
    int eddiglegjobb=1;
	int eddigleghosszabb=0;
	int leghosszabb=0;
	for(int i=1;i<=n;i++){
		if(kiixelo[i]>0){
			szamolo+=kiixelo[i];
		}
		if(szamolo==0){
			eddigleghosszabb++;
		}else{
			if(eddigleghosszabb>leghosszabb){
				leghosszabb=eddigleghosszabb;
				eddiglegjobb=i-leghosszabb;
			}
			eddigleghosszabb=0;
		}
		if(kiixelo[i]<0){
			szamolo+=kiixelo[i];
		}
	}
	if(eddigleghosszabb>leghosszabb){
		leghosszabb=eddigleghosszabb;
		eddiglegjobb=n-(leghosszabb-1);
	}
	if(leghosszabb==0){
		cout<<-1<<'\n';
	}else{
	     cout<<leghosszabb<<' '<<eddiglegjobb<<'\n';
	}
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base75/75
1Elfogadva0/03ms2144 KiB
2Elfogadva0/059ms5636 KiB
3Elfogadva3/31ms3316 KiB
4Elfogadva3/31ms3320 KiB
5Elfogadva3/31ms3324 KiB
6Elfogadva3/31ms3324 KiB
7Elfogadva3/31ms3328 KiB
8Elfogadva4/41ms3336 KiB
9Elfogadva4/41ms3364 KiB
10Elfogadva4/41ms3380 KiB
11Elfogadva4/44ms3560 KiB
12Elfogadva4/46ms3664 KiB
13Elfogadva4/44ms3728 KiB
14Elfogadva4/44ms3788 KiB
15Elfogadva4/44ms3868 KiB
16Elfogadva4/46ms4132 KiB
17Elfogadva4/46ms4120 KiB
18Elfogadva4/47ms4208 KiB
19Elfogadva4/452ms6892 KiB
20Elfogadva4/457ms7932 KiB
21Elfogadva4/452ms8944 KiB
22Elfogadva4/452ms9932 KiB