12052022-03-19 16:42:21tomi7Leghosszabb béke (75 pont)cpp11Accepted 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';
	}
}
SubtaskSumTestVerdictTimeMemory
base75/75
1Accepted0/03ms2144 KiB
2Accepted0/059ms5636 KiB
3Accepted3/31ms3316 KiB
4Accepted3/31ms3320 KiB
5Accepted3/31ms3324 KiB
6Accepted3/31ms3324 KiB
7Accepted3/31ms3328 KiB
8Accepted4/41ms3336 KiB
9Accepted4/41ms3364 KiB
10Accepted4/41ms3380 KiB
11Accepted4/44ms3560 KiB
12Accepted4/46ms3664 KiB
13Accepted4/44ms3728 KiB
14Accepted4/44ms3788 KiB
15Accepted4/44ms3868 KiB
16Accepted4/46ms4132 KiB
17Accepted4/46ms4120 KiB
18Accepted4/47ms4208 KiB
19Accepted4/452ms6892 KiB
20Accepted4/457ms7932 KiB
21Accepted4/452ms8944 KiB
22Accepted4/452ms9932 KiB