Cod sursa(job #530100)

Utilizator tudgal1001Profir Tudor tudgal1001 Data 6 februarie 2011 20:30:07
Problema Secventa Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>
using namespace std;

int a[500005];

int main ()
{
	int n,k,minim=(2e9),maxim=-(2e9),min,j,sol1,sol2,i;
	freopen("secventa.in","r",stdin);
	freopen("secventa.out","w",stdout);
	scanf("%d%d",&n,&k);
	for (i=1; i<=n; i++)
	{
		scanf("%d",&a[i]);
		if (a[i]<minim) minim=a[i];
	}
	for (i=1; i<=n-k+1; i++)
	{
		if (a[i]==minim && min>maxim)
		{
			maxim=minim; 
			sol1=i; sol2=i+k-1;
		}
		else
		{
			min=(2e9);
			for (j=i; j<=n; j++)
			{
				if (a[j]<min) min=a[j];
				if (j-i+1>=k && min>maxim) 
				{
					maxim=min;
					sol1=i;
					sol2=j;
				}
			}
		}
	}
	printf("%d %d %d",sol1,sol2,maxim);
	return 0;
}