Cod sursa(job #1144727)

Utilizator nimicLeoveanu Mihaita Alexandru nimic Data 17 martie 2014 15:16:13
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream>
using namespace std;
ifstream in("secventa.in");
ofstream out("secventa.out");

const int nmax = 500005;
int d[nmax], p = 1, q = 0, maxim, bestbeg, bestend, n, k, v[nmax];

int main(){
	int player_unu=0;

	in>>n>>k;
	for(int i = 1; i<=n; i++)
	{
		in>>v[i];

		while(v[d[q]]>=v[i] && p<=q)
			q--;

		d[++q] = i;

		while(i-k+1>d[p])
			p++;

		if(v[d[p]]>maxim)
		{
			bestbeg = d[p];
			bestend = i;
			maxim = v[d[p]];
		}
	}

	out<<bestbeg<<" "<<bestend<<" "<<maxim<<'\n';
	return player_unu;
}