125762024-12-23 22:06:54SRobLeghosszabb béke (75 pont)cpp17Time limit exceeded 53/75300ms1588 KiB

//#include "stdafx.h"
#include <iostream>

using namespace std;
const int maxN = 100000;
int main()
{
	int napokszama, haborukszama;
	cin >> napokszama >> haborukszama;
	// egyes haboruk/ szakaszok beolv
	int napok[maxN] = {0}; // minden elemet 0-ról indít
	int from,to; // segédváltozók
	for (int i = 0; i < haborukszama; i++)
	{
		cin >> from >> to;
		for (int j = from-1; j < to; j++)
		{
			napok[j] = 1;
		}
	}

	
	// megoldas
	int kezdo, maxHossz, jelenHossz, jelenSzakaszKezdo;
	jelenHossz = 0;
	maxHossz = 0;
	kezdo = 0;
	
	for (int i = 0; i < napokszama; i++)
	{
		if (napok[i] == 0 && jelenSzakaszKezdo == 0)
		{
			jelenSzakaszKezdo = i;
			jelenHossz++;
		}
		else if (napok[i] == 0)
		{
			jelenHossz++;
			//cout <<"HAMIS, ++ , " << i+1 <<" jelenhossz: " << jelenHossz <<" maxHossz: "<< maxHossz<< endl;
		}
		
		else if (napok[i] == 1)
		{
			jelenSzakaszKezdo = 0;
			jelenHossz = 0;
			//cout <<"IGAZ,0 , "<<i+1 <<" jelenhossz: " << jelenHossz <<" maxHossz: "<< maxHossz<< endl;
		}
		if (jelenHossz > maxHossz)
		{
			kezdo = jelenSzakaszKezdo;
			maxHossz = jelenHossz;
		}
	}
	//kiiras
	cout << maxHossz << " " << kezdo+1;
}

SubtaskSumTestVerdictTimeMemory
base53/75
1Accepted0/01ms568 KiB
2Time limit exceeded0/0282ms1588 KiB
3Wrong answer0/31ms568 KiB
4Wrong answer0/32ms568 KiB
5Accepted3/31ms572 KiB
6Accepted3/31ms568 KiB
7Accepted3/31ms568 KiB
8Accepted4/41ms568 KiB
9Accepted4/41ms568 KiB
10Accepted4/42ms568 KiB
11Accepted4/47ms788 KiB
12Accepted4/413ms568 KiB
13Accepted4/48ms792 KiB
14Accepted4/49ms792 KiB
15Accepted4/413ms796 KiB
16Accepted4/454ms792 KiB
17Accepted4/472ms568 KiB
18Accepted4/4127ms568 KiB
19Time limit exceeded0/4284ms1048 KiB
20Time limit exceeded0/4300ms788 KiB
21Time limit exceeded0/4284ms824 KiB
22Time limit exceeded0/4291ms824 KiB