125822024-12-24 14:38:35SRobLeghosszabb béke (75 pont)cpp17Wrong answer 45/7563ms808 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;
		napok[from-1] = to-from;
	}
	//----ELL KIÍRÁS
	/*cout <<"alakítás nélkül" <<endl;
	for (int i = 0; i < napokszama; i++)
	{
		cout << " " << napok[i];
	}
	cout<<endl;*/

	int elsodleges = 0;
	//azt adja meg hogy még mennyi napig van háboru tehát hányszor fog ezen az elemen kívűl még megjelenni 1
	
	for (int i = 0; i < napokszama; i++)
	{
		if (napok[i] != 0 && elsodleges == 0)
		{
			elsodleges = napok[i];
		}
		else if (napok[i] != 0 && elsodleges > 0)
		{
			if (napok[i] > elsodleges)
			{
				elsodleges = napok[i];
			}
			else
			{
				elsodleges--;
			}
		}
		else if (napok[i] == 0 && elsodleges > 0)
		{
			napok[i] = 1;
			elsodleges--;
		}
		
	}
	//----ELL KIÍRÁS
	/*for (int i = 0; i < napokszama; i++)
	{
		cout << " " << napok[i];
	}*/
	
	//cout << endl;
	// 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
base45/75
1Accepted0/01ms744 KiB
2Accepted0/063ms568 KiB
3Wrong answer0/31ms568 KiB
4Wrong answer0/31ms568 KiB
5Accepted3/31ms568 KiB
6Accepted3/31ms568 KiB
7Accepted3/31ms568 KiB
8Accepted4/41ms568 KiB
9Accepted4/41ms628 KiB
10Wrong answer0/41ms568 KiB
11Accepted4/44ms568 KiB
12Wrong answer0/46ms792 KiB
13Accepted4/44ms792 KiB
14Wrong answer0/44ms788 KiB
15Accepted4/46ms808 KiB
16Accepted4/46ms764 KiB
17Accepted4/46ms792 KiB
18Accepted4/47ms788 KiB
19Wrong answer0/457ms788 KiB
20Wrong answer0/457ms568 KiB
21Accepted4/454ms788 KiB
22Wrong answer0/457ms792 KiB