Pagini recente » Cod sursa (job #549585) | Cod sursa (job #2803484) | Cod sursa (job #336512) | Cod sursa (job #2771242) | Cod sursa (job #54041)
Cod sursa(job #54041)
#include<stdio.h>
long int n,k,i,a,x[500001],frecv[60001],p,ps,vb,vbs;
int main()
{
FILE *f=fopen("secventa.in","r");
fscanf(f,"%ld%ld",&n,&k);
for(i=1;i<=n;i++)
{ fscanf(f,"%ld",&a);
x[i]=a+3000;
}
vb=x[1],frecv[x[1]]++;
for(i=2;i<=k;i++)
{vb=(x[i]<vb)?x[i]:vb;frecv[x[i]]++;}
p=1;
ps=1;vbs=vb;
for(p=2;p<=n-k+1;p++)
{ vb=(x[p+k-1]<vb)?x[p+k-1]:vb;
frecv[x[p-1]]--;frecv[x[p+k-1]]++;
if(frecv[vb]==0)
while(frecv[vb]==0)vb++;
if(vb>vbs){ps=p;vbs=vb;}
}
fclose(f);
f=fopen("secventa.out","w");
fprintf(f,"%ld %ld %ld\n",ps,ps+k-1,vbs-3000);
fclose(f);
return 0;
}