Cod sursa(job #669315)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 26 ianuarie 2012 19:11:28
Problema Secventa Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
#include <queue>
#define NMAx 500100
using namespace std;
deque <int> D;
short n,k,v[NMAx],sol=-30010;

int main() {
	int i,end;
	ifstream in("secventa.in");
	ofstream out("secventa.out");
	in>>n>>k;
	for(i=1;i<=n;i++) {
		in>>v[i];
		while(!D.empty()&&v[i]<=v[D.back()])
			D.pop_back();
		D.push_back(i);
		if(D.front()==i-k)
			D.pop_front();
		if(i>=k&&sol<v[D.front()]) {
			sol=v[D.front()];
			end=i;
			}
		}
	out<<end-k+1<<" "<<end<<" "<<sol<<'\n';
	in.close();
	out.close();
	return 0;
}