Cod sursa(job #258355)

Utilizator SheepBOYFelix Liviu SheepBOY Data 15 februarie 2009 09:00:22
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>
struct DEQUE{
	int v,p;
	DEQUE()
	{
		v=p=30001;
	}
};
int sq,eq;
DEQUE dq[500000];
int v[500000];
int main()
{
	int i,j,n,k,minim=-30001,pm=0;
	freopen("secventa.in","r",stdin);
	freopen("secventa.out","w",stdout);
	scanf("%d %d",&n,&k);
	int nq=0;
		scanf("%d",&v[0]);
		j=sq;
		while(dq[j].v<v[0])
			++j;
		dq[j].v=v[0];
		dq[j].p=0;
		scanf("%d",&v[1]);
		j=sq;
		while(dq[j].v<v[1])
			++j;
		dq[j].v=v[1];
		dq[j].p=1;
		nq++;
	for(i=2;i<n;++i)
	{
		scanf("%d",&v[i]);
		j=sq;
		while(dq[j].v<v[i])
			++j;
		dq[j].v=v[i];
		dq[j].p=i;
		nq++;
		if(i-dq[sq].p>=k-1)
		++sq;
		if(minim<dq[sq].v&&i)
			{
				minim=dq[sq].v;
				pm=dq[sq].p;
				
			}
	}
	printf("%d %d %d",pm+1,pm+k,minim);
	return 0;
}