Pagini recente » Borderou de evaluare (job #2508889) | Cod sursa (job #3184236) | Cod sursa (job #146017) | Cod sursa (job #2913416) | Cod sursa (job #1788060)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,a,k;
FILE * fp;
fp = fopen("ssm.in","r");
fscanf(fp,"%i",&n);
fscanf(fp,"%i",&k);
int sc = 0;
int sum = 0;
int left = 0;
int maxright = 0;
int maxleft = 0;
int scmax = -100000;
for(i = 0;i<n;i++)
{
fscanf(fp,"%i",&a);
sum+=a;
if(sc < 0)
{
sc = 0;
left = i;
}
sc+=a;
if(sc > scmax && i - left >= k)
{
scmax = sc;
maxright = i;
maxleft = left;
}
}
fclose(fp);
fp = fopen("ssm.out","w");
if(k == n)
{
fprintf(fp,"%i 1 %i",n,sum);
}
else
{
fprintf(fp,"%i %i %i",maxleft+1,maxright+1,scmax);
}
fclose(fp);
return 0;
}