Cod sursa(job #855808)

Utilizator vladm97Matei Vlad vladm97 Data 15 ianuarie 2013 17:21:40
Problema Secventa Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<fstream>
#define lmax 510000
int v[lmax],deq[lmax];
using namespace std;
int main(){
	int cs,cd,max,cp,k,n;
	max=-lmax;
	register int i;
	ifstream f("secventa.in");
	ofstream g("secventa.out");
	f>>n>>k;
	cs=0;
	cd=-1;
	for(i=1;i<=n;i++){
		f>>v[i];
		if(i-deq[cs]>=k)cs++;
		while(cd>=cs&&v[deq[cd]]>=v[i])cd--;
		deq[++cd]=i;
		if(i>=k&&v[deq[cs]]>max){
			max=v[deq[cs]];
			cp=i;
		}
	}
	g<<cp-k+1<<" "<<cp<<" "<<max;
	f.close();
	g.close();
}