Pagini recente » Cod sursa (job #816433) | Cod sursa (job #2457172) | Cod sursa (job #368746) | Cod sursa (job #2869653) | Cod sursa (job #34572)
Cod sursa(job #34572)
#include <stdio.h>
#define nmax 500001
int a[nmax];
FILE *f,*g;
int main()
{
long n,k,i,j,min,l,max,imax,x,nr;
f=fopen("secventa.in","rt");
g=fopen("secventa.out","wt");
fscanf(f,"%ld %ld\n",&n,&k);
for (i=1;i<=n;i++)
fscanf(f,"%d",&a[i]);
min=30001;
for (i=1;i<=k;i++)
if (a[i]<min)
min=a[i];
max=min;
imax=1;
nr=0;
l=n-k+1;
for (i=2;i<=l&&nr<100000;i++)
{
if (a[i-1]==min)
{
x=i+k-1;
min=a[i];
for (j=i+1;j<=x;j++)
if (a[j]<min)
min=a[j];
nr=nr+x-i;
}
else
if (a[i+k-1]<min)
min=a[i+k-1];
if (min>max)
{
max=min;
imax=i;
}
nr++;
}
fprintf(g,"%ld %ld %ld\n",imax,imax+k-1,max);
fcloseall();
return 0;
}