Cod sursa(job #424674)

Utilizator borsoszalanBorsos Zalan borsoszalan Data 25 martie 2010 08:10:34
Problema Secventa Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
#include<deque>

using namespace std;

deque< pair<int, int> > d;
int n,k,i,x, maxim=-31000, ind;

int main()
{
	freopen("secventa.in", "r", stdin);
	freopen("secventa.out", "w", stdout);
	scanf("%d%d", &n, &k);
	for(i=1;i<=n;i++)
	{
		scanf("%d", &x);
		while(!d.empty()&&d.front().second<=i-k)
			d.pop_front();
		while(!d.empty()&&d.back().first>=x)
			d.pop_back();
		d.push_back(make_pair(x,i));
		if(i>=k&&d.front().first>maxim)
		{
			ind=i;
			maxim=d.front().first;
		}
	}
	printf("%d %d %d\n", ind-k+1, ind, maxim);
	return 0;
}