Cod sursa(job #424661)

Utilizator szocsbarniSzocs Barna szocsbarni Data 25 martie 2010 01:03:09
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <fstream>
#include <iostream>
using namespace std;

int main()
{
	int A[1000];
	int d[100];
	int n,k,i,back,front,max;
	int ii,jj;
	ifstream f("secventa.in");
	ofstream g("secventa.out");
	f >> n >> k;
	for (i=1;i<=n;i++)
		f >> A[i];
	i = 1;
	back = 1;
	front = 1;
	d[back] = A[1];
	max = -40000;
	for (i=2;i<=n;i++)
	{
		while ((front <=back) && (A[i] < A[d[back]]))
			back--;
		d[++back] = i;
		if (((back -front +1) >= k)) front++;
		if (A[d[front]] >= max) 
		{
			max = A[d[front]];
			ii =d[front];
			jj = d[back];
		}
	}
	g << ii <<" " << jj <<" " << max << endl;

	return 0;
}