Cod sursa(job #302192)

Utilizator cotofanaCotofana Cristian cotofana Data 8 aprilie 2009 18:54:53
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>
#include <deque>
#define dim 500010

using namespace std;

int n, k, v[dim];
deque<int> d;

int main()
{
	int i, min=1<<15, x, y;
	freopen("secventa.in", "r", stdin);
	freopen("secventa.out", "w", stdout);
	scanf("%d %d\n", &n, &k);
	for (i=1; i<=n; i++) scanf("%d ", &v[i]);
	for (i=1; i<=n; i++)
	{
		while (d.size() && v[i]<v[d.back()]) d.pop_back();
		d.push_back(i);
		if (d.front()==i-k) d.pop_front();
		if (i>=k)
		{
			if (v[d.front()]>v[min])
			{
				min=d.front();
				x=i-k+1;
				y=i;
			}
		}
	}
	for (i=x; i<=y; i++) printf("%d ", v[i]);
	printf("\n");
}