125802024-12-24 14:24:51SRobLeghosszabb béke (75 pont)cpp17Hibás válasz 13/7564ms1432 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;
	}
	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 if (napok[i] == 0 && elsodleges > 0)
		{
			napok[i] = 1;
			elsodleges--;
		}
		
	}
	
	// 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;
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base13/75
1Elfogadva0/01ms568 KiB
2Hibás válasz0/064ms760 KiB
3Hibás válasz0/31ms568 KiB
4Hibás válasz0/31ms568 KiB
5Elfogadva3/31ms568 KiB
6Elfogadva3/31ms568 KiB
7Elfogadva3/31ms568 KiB
8Hibás válasz0/41ms568 KiB
9Elfogadva4/41ms568 KiB
10Hibás válasz0/41ms568 KiB
11Hibás válasz0/44ms568 KiB
12Hibás válasz0/46ms568 KiB
13Hibás válasz0/44ms568 KiB
14Hibás válasz0/44ms660 KiB
15Hibás válasz0/46ms568 KiB
16Hibás válasz0/46ms568 KiB
17Hibás válasz0/46ms792 KiB
18Hibás válasz0/47ms788 KiB
19Hibás válasz0/457ms1040 KiB
20Hibás válasz0/457ms1300 KiB
21Hibás válasz0/454ms1344 KiB
22Hibás válasz0/459ms1432 KiB