Pagini recente » Cod sursa (job #1283154) | Cod sursa (job #1495592) | Cod sursa (job #2154850) | Cod sursa (job #359486) | Cod sursa (job #28591)
Cod sursa(job #28591)
#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++)
{if(x[i]<vb)vb=x[i];frecv[x[i]]++;}
p=1;
ps=1;vbs=vb;
for(p=2;p<=n-k+1;p++)
{ if(x[p+k-1]<vb)vb=x[p+k-1];
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;
}