Cod sursa(job #709044)

Utilizator iarbaCrestez Paul iarba Data 7 martie 2012 17:09:26
Problema Secventa Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;
int a[500002];
long deq[500002];
long i,n,j,fr,bk,maxx,maxi,k;
int main()
{
	freopen("secventa.in","r",stdin);
	ofstream g("secventa.out");
	scanf("%ld%ld",&n,&k);
	fr=1;bk=0;maxx=-999999999;
	for(i=1;i<=n;i++){
		scanf("%d",&a[i]);
		while((fr<=bk)&&(a[i]<=a[deq[bk]])){bk--;}
		deq[++bk]=i;
		if(deq[fr]==i-k){fr++;}
		if(i>=k){if(a[deq[fr]]>maxx){maxx=a[deq[fr]];maxi=i;}}
					 }
g<<maxi-k+1<<' '<<maxi<<' '<<maxx;
return 0;
}