Cod sursa(job #219246)

Utilizator ZillaMathe Bogdan Zilla Data 6 noiembrie 2008 08:50:25
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <stdio.h>


int q[100], st=1, dr, v[100], poz[100], max=-1000,n,k,i;

int main()
{
	freopen("secventa.in","r",stdin);
	scanf("%d%d", &n, &k);
	for	(i=1;i<=n;++i)
		scanf("%d", &v[i]);
	for (i=1;i<=n;++i)
	{
		while (st<=dr && v[i] < q[dr]) --dr;
		while (st<=dr && poz[st] < i-k+1) ++st;
		q[++dr]=v[i];
		poz[dr]=i;
	//	for (int j=st;j<=dr;++j) printf("%d ", q[j]);printf("\n");
		if (q[st] > max) max = q[st];
	}
    printf("%d\n", max);



	return 0;
}