Pagini recente » Cod sursa (job #3185027) | Cod sursa (job #2520095) | Cod sursa (job #142954) | Cod sursa (job #445667) | Cod sursa (job #820347)
Cod sursa(job #820347)
#include <stdio.h>
#define min -100000000
#define max 50001
FILE *fin,*fout;
int v[max],sum[max];
int main()
{
fin=fopen("secv2.in","r");
fout=fopen("secv2.out","w");
int n,k;
fscanf(fin,"%d%d",&n,&k);
int i,nrc,pozc=1,pozm=1,inc=k,u;
int sc=0,smax=min;
for(i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
sum[i]=sum[i-1]+v[i];
}
sc=sum[k];
smax=sum[k];
for(i=k+1;i<=n;i++){
if(sum[i] - sum[i-k] > sc+v[i]){
sc = sum[i] - sum[i-k];
pozc = i - k + 1;
}
else sc += v[i];
u=i;
if(sc>smax){
smax=sc;
pozm=pozc;
inc=u;
}
}
fprintf(fout,"%d %d %d",pozm,inc,smax);
fclose(fin);
fclose(fout);
return 0;
}