Pagini recente » Cod sursa (job #579331) | Cod sursa (job #2897331) | Cod sursa (job #1987083) | Cod sursa (job #2470574) | Cod sursa (job #6547)
Cod sursa(job #6547)
#include <stdio.h>
int main(void)
{
FILE *fin, *fout;
int n, k;
int sum[50001];
int max = -999999999;
int min = 999999999;
int pozmin = -1;
int start = -1;
int end = -1;
int i;
int number;
fin = fopen("secv2.in", "r");
fscanf(fin, "%d %d", &n, &k);
for(i=0;i<n;i++)
{
fscanf(fin, "%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(fin);
fout = fopen("secv2.out", "w");
fprintf(fout, "%d %d %d\n", start, end, max);
fclose(fout);
return 0;
}