Cod sursa(job #865344)

Utilizator drobertDumitru Robert drobert Data 26 ianuarie 2013 13:01:33
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("secventa.in");
ofstream g("secventa.out");


int n,k,i,deque[500005],v[500005];
int front=1,back,maximul=-999999,st,dr;

int main ()
{
	f>>n>>k;
	for (i=1;i<=n;i++)
		f>>v[i];
	for (i=1;i<=n;i++)
	{
		while (front<=back && v[i]<v[deque[back]])
			back--;
		deque[++back]=i;
		if (deque[front]==i-k)
			front++;
		if (i>=k)
		{
			if (v[deque[front]]>maximul)
			{
				maximul=v[deque[front]];
				st=i-k+1;
				dr=i;
			}
		}
	}
	g<<st<<" "<<dr<<" "<<maximul;
}