Cod sursa(job #813212)

Utilizator alinaelenaFMI Colceag Alina alinaelena Data 15 noiembrie 2012 00:46:15
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<cstdio>
using namespace std; 
int v[5000001],deq[5000001];

int main()
{
	int n,k,p,u,max=-500001,poz,i;
	freopen("secventa.in","r",stdin);
	freopen("secventa.out","w",stdout);
	scanf("%d %d",&n,&k);
	p=1;
	u=0;
	for (i=1;i<=n;++i)
		scanf("%d",&v[i]);
	
	for (i=1;i<=n;++i)
	{
		while ((v[i]<=v[deq[u]])&&(p<=u))
			u--;
		u++;
		deq[u]=i;
		
		if (i-deq[p]>=k) p++;
		
		if (i>=k) 
			if (max<v[deq[p]]) 
			{ max=v[deq[p]];
			poz=i;
			}
	}	
		printf("%d %d %d",poz-k+1,poz,max);	
	
}