Cod sursa(job #355969)

Utilizator allynaAlina S allyna Data 12 octombrie 2009 20:45:14
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>
#include<iostream>
#include<cstdio>
using namespace std;

int n,k,i,minim=-300009,inceput,sf,x=-30009,d[500001],a[500001];

int main()
{ 
	ifstream in("secventa.in");
	ofstream out("secventa.out");
	in>>n>>k;
	inceput=sf=1;
	for(i=1;i<=n;i++)
		{
			in>>a[i];
			while(inceput<=sf && a[d[sf]]>=a[i]) sf--;
			d[++sf]=i;
			if (i-d[inceput]==k) inceput++; 
			if (a[d[inceput]]>minim && i>=k) 
					{
 					minim=a[d[inceput]];
				 	x=i;
					}
		}
	out<<x-k+1<<" "<<x<<" "<<minim<<endl;
	in.close();
	out.close();
	return 0;
}