Cod sursa(job #398785)

Utilizator g3ppyStoian Vlad g3ppy Data 19 februarie 2010 13:03:52
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <stdio.h>
#include <algorithm>
#define NMAX 100000

#define llong long long

using namespace std;

FILE *fin,*fout;

int n, k;
int a[NMAX],hip[NMAX];

int main()
{int i, x, j, min;
	fin = fopen ("secventa.in","rt");
	fout = fopen ("secventa.out","wt");
	
	fscanf(fin,"%d %d",&n,&k);
	
	for (i = 0; i < n;i++)
	{
		fscanf(fin,"%d",&a[i]);
		
		
	}
	
	for (i = 0; i < n;i++)
	{
		a[i] = -a[i];
	}
	
	for (i = 0; i < k; i++)
	{
		hip[i] = a[i];
	}
	
	make_heap(hip,hip+k);
	min = hip[0];
	
	for (i = k; i < n; i++)
	{
		for (j = 0; j < k; j++)
		{
			if (hip[j] == a[i-k]){
				hip[j] = a[i];
				break;
			}
		}
		make_heap(hip,hip+k);
		if ( min > hip[0] ) min = hip[0];
	}
	
	
	min = -min
	fprintf(fout,"%d\n",min);
	fclose(fin);
	fclose(fout);	
return 0;	
}