Pagini recente » Cod sursa (job #1082728) | Cod sursa (job #2314476) | Cod sursa (job #2710898) | Cod sursa (job #1519285) | Cod sursa (job #133140)
Cod sursa(job #133140)
#include <stdio.h>
int a[50001],b[50001],c[50001],d[50001];
int main()
{
int max,x,y,i,k,n,s;
FILE *in,*out;
in=fopen("secv2.in","r");
out=fopen("secv2.out","w");
fscanf(in,"%d%d",&n,&k);
a[0]=-25001;
max=-25001;
for (i=1;i<=n;i++)
{
fscanf(in,"%d",&b[i]);
if (a[i-1]+b[i]>=b[i])
{
a[i]=a[i-1]+b[i];
c[i]=c[i-1];
}
else
{
a[i]=b[i];
c[i]=i;
}
}
s=0;
for (i=1;i<=k;i++)
s+=b[i];
max=s;
x=1;
y=k;
d[k]=s;
for (i=k+1;i<=n;i++)
{
s-=b[i-k];
s+=b[i];
d[i]=s+a[i-k+1]-b[i-k+1];
if (d[i]>max)
{
max=d[i];
x=c[i-k+1];
y=i;
}
}
fprintf(out,"%d %d %d\n",x,y,max);
fclose(in);
fclose(out);
return 0;
}