Cod sursa(job #1011761)

Utilizator tibi9876Marin Tiberiu tibi9876 Data 17 octombrie 2013 14:06:21
Problema Secventa Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include<fstream>
#include<deque>
using namespace std;

int a[500001],n,k,i,x,mx;
deque <int> d;

int main()
{
	ifstream f("secventa.in");
	ofstream g("secventa.out");
	f >> n >> k;
	mx=-1 << 30;
	for (i=1;i<=n;i++)
		f >> a[i];
	for (i=1;i<=n;i++)
	{
		while ((!d.empty()) && (d.back()>a[i]))
			d.pop_back();
		d.push_back(a[i]);
		if ((i>k) && (a[i-k]==d.front()))
			d.pop_front();
		if ((i>=k) && (d.front()>mx))
		{
			mx=d.front();
			x=i;
		}
	}
	g << x-k+1 << ' ' << x << ' ' << mx;
	return 0;
}