1205 2022. 03. 19 16:42:21 tomi7 Leghosszabb béke (75 pont) cpp11 Accepted 75/75 59ms 9932 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';
	}
}
Subtask Sum Test Verdict Time Memory
base 75/75
1 Accepted 0/0 3ms 2144 KiB
2 Accepted 0/0 59ms 5636 KiB
3 Accepted 3/3 1ms 3316 KiB
4 Accepted 3/3 1ms 3320 KiB
5 Accepted 3/3 1ms 3324 KiB
6 Accepted 3/3 1ms 3324 KiB
7 Accepted 3/3 1ms 3328 KiB
8 Accepted 4/4 1ms 3336 KiB
9 Accepted 4/4 1ms 3364 KiB
10 Accepted 4/4 1ms 3380 KiB
11 Accepted 4/4 4ms 3560 KiB
12 Accepted 4/4 6ms 3664 KiB
13 Accepted 4/4 4ms 3728 KiB
14 Accepted 4/4 4ms 3788 KiB
15 Accepted 4/4 4ms 3868 KiB
16 Accepted 4/4 6ms 4132 KiB
17 Accepted 4/4 6ms 4120 KiB
18 Accepted 4/4 7ms 4208 KiB
19 Accepted 4/4 52ms 6892 KiB
20 Accepted 4/4 57ms 7932 KiB
21 Accepted 4/4 52ms 8944 KiB
22 Accepted 4/4 52ms 9932 KiB