Cod sursa(job #291848)

Utilizator razvan_3dragomir razvan razvan_3 Data 30 martie 2009 14:33:37
Problema Secventa Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<fstream.h>
ifstream intrare("secventa.in");
ofstream iesire("secventa.out");
int a[500000];
long int n,k;
void citeste()
{
	intrare>>n>>k;
	for(long int i=1;i<=n;i++)
	{
		intrare>>a[i];
	}
}
long int pozmin(long int i)
{
	int min=a[i]; long int ret=i;
	for(long int j=i+1;j<i+k;j++)
	{
		if(a[j]<=min)
		{
			ret=j;
			min=a[j];
		}
	}
	return ret;
}
int main()
{
	citeste();
	long int i=1,j=0;
	long int start=0;
	int minim=-30001;
	while(i<=n-k+1)
	{
		j=pozmin(i);
		if(a[j]>minim)
		{
			minim=a[j];
			start=j;
		}
		i=j+1;
	}
	j=start;
	while(a[j-1]>=minim&&start-j<=k+1)
	{
		j--;
	}
	iesire<<j<<" "<<j+k-1<<" "<<minim;
	return 0;
}