Pagini recente » Cod sursa (job #1967493) | Borderou de evaluare (job #651330) | Cod sursa (job #1863720) | Cod sursa (job #3182483) | Cod sursa (job #568106)
Cod sursa(job #568106)
#include <stdio.h>
FILE *f=fopen("secv2.in","r");
FILE *g=fopen("secv2.out", "w");
int n,k,sum[50001],max=-999999999,min = 999999999,pozmin = -1,start = -1,end = -1,number;
int main(void){
register int i,j;
fscanf(f, "%d %d", &n, &k);
for(i=0;i<n;i++) {
fscanf(f, "%d ", &number);
sum[i] = (i==0)?number:(sum[i-1]+number);
if(sum[i]<min){
min = sum[i];
pozmin = i;
}
if(i+1>=k){
if(start==-1){
max=sum[i];
start=1;
end=i+1;
}
if(i-pozmin>=k){
if(sum[i]-sum[pozmin]>max) {
max=sum[i]-sum[pozmin];
start=pozmin+2;
end=i+1;
}
}
if(sum[i]>max){
max=sum[i];
start=1;
end=i+1;
}
}
}
fclose(f);
fprintf(g, "%d %d %d\n",start,end,max);
fclose(g);
return 0;
}