Cod sursa(job #544714)

Utilizator alexa_myparadiseAlexutzaaa alexa_myparadise Data 1 martie 2011 23:41:18
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream.h>
#include<fstream.h>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
int a[5000001],deque[5000001];
int  n,k,i,front,st,max,back;
int main()
{
	front=1;
	back=1;
	max=-123456789;
	f>>n>>k;
	for (i=1;i<=n;i++)
	{
	    f>>a[i];
		while (front<=back && a[i]<=a[deque[back]]) --back;
		deque[++back]=i;
		if (i>=k)
		{
		    if (max<a[deque[front]])
		    {
		        max=a[deque[front]];
		        st=i;
		    }
		}
		if (i>=k)
		   {
		       while (deque[front]==i-k+1 && front<=back) front++;
		   }
	}
g<<st-k+1<<" "<<st<<" "<<max;
f.close();
g.close();
return 0;
}