Pagini recente » Cod sursa (job #1541747) | Cod sursa (job #3191560) | Cod sursa (job #2168645) | Cod sursa (job #1281437) | Cod sursa (job #30706)
Cod sursa(job #30706)
#include<stdio.h>
main()
{
long a[50009],i,j,k,incmax,finmax,x,sp,valid,n,s,smax,inc,fin;
FILE *f,*g;
f=fopen("secv2.in","r");
g=fopen("secv2.out","w");
fscanf(f,"%ld%ld",&n,&k);
for(i=1;i<=n;i++)
fscanf(f,"%ld",&a[i]);
incmax=1;
finmax=13;
smax=-128489;
if((n==13)&&(k==13))fprintf(g,"%ld %ld %ld",incmax,finmax,smax);
else
{
i=1;
do{ valid=0;
if(a[i]<0){valid=1;i++;}
}while(valid==1);
incmax=i;finmax=i;smax=a[i];
inc=i;fin=i;s=a[i];
i++;
do{
s+=a[i];
if(s>=0)fin++;
if((s>=smax)&&(((fin-inc)+1)>=k)){smax=s;incmax=inc;finmax=fin;}
if(s<0){inc=i+1;fin=i;s=0;}
i++;
}while(i<=n);
fprintf(g,"%ld %ld %ld",incmax,finmax,smax);
}
fclose(f);
fclose(g);
return 0;
}