Cod sursa(job #415056)

Utilizator SadmannCornigeanu Calin Sadmann Data 10 martie 2010 21:11:23
Problema Secventa Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.17 kb
#include<stdio.h>
int n,st[500001],k,i,vf,baza,ft,sp,cd[500001],min,minglb;

int quicksort(int array[500001],int left,int right)
{
	if(left<right)
	{
		int v,i,j,aux;
		
		v=array[right];
		i=left-1;
		j=right;
		
		for(;;)
		{
			while(array[++i]<v);
			while(array[--j]>v);
			if(i>=j)
				break;
			aux=array[i];
			array[i]=array[j];
			array[j]=aux;
		}
		aux=array[i];
		array[i]=array[right];
		array[right]=aux;
		quicksort(array,left,i-1);
		quicksort(array,i+1,right);
	}
}



FILE *in,*out;

int main()
{
	in=fopen("secventa.in","rt");
	out=fopen("secventa.out","wt");
	fscanf(in,"%d %d",&n,&k);
	for(i=1;i<=n;i++)
		fscanf(in,"%d",&st[i]);
	minglb=-30001;
	for(i=1;i<=n;i++)
	{
		min=30001;
		for(int j=0;j<k;j++)
		{
			if(st[i+j]<min)
				min=st[i+j];
		}
		if(min>minglb)
		{
			minglb=min;
			ft=i;
			sp=i+k-1;
		}
		
	}
	
	fprintf(out,"%d %d %d",ft,sp,minglb);
		
		
		
		/*		cd[i]=st[i];
	}
	baza=1;
	vf=sp=k;
	quicksort(st,1,k);	
	for(i=k+1;i<=n;i++)
	{
		vf++;
		fscanf(in,"%d",&st[vf]);
		if(st[vf]>=st[baza])
		{
			sp++;
			cd[sp]=st[vf];
		}
		else
		{
			sp=1;
			
	*/	
	return 0;
}