Pagini recente » Cod sursa (job #1558734) | Cod sursa (job #3137005) | Cod sursa (job #324329) | Cod sursa (job #1429020) | Cod sursa (job #827752)
Cod sursa(job #827752)
#include <cstdlib>
#include <cstdio>
#define MAX_SIZE 50000
using namespace std;
int sume[MAX_SIZE];
int vect[MAX_SIZE];
int main()
{
FILE *input = fopen("secventa2.in","r");
FILE *output = fopen("secventa2.out","w");
int N , K;
fscanf(input,"%d%d",&N,&K);
sume[0] = 0;
for (int i = 1;i<=N;i++)
{
fscanf(input,"%d",&vect[i]);
sume[i] = sume[i-1] + vect[i];
}
fclose(input);
int sumpart = sume[K] - sume[0];
int max = sumpart;
int start=1,mstart = 1;
int end=K,mend = K;
for (int i = K+1 ; i<= N;i++)
{
sumpart += vect[i];
if (sumpart <= sume[i] - sume[i-K])
{
start = i- K +1;
end = i;
sumpart = sume[i] - sume[i-K];
}
else
{
end++;
}
if (max <= sume[end] - sume[start-1])
{
max = sume[end] - sume[start-1];
mstart = start;
mend = end;
}
}
fprintf(output,"%d %d %d",mstart,mend,max);
fclose(output);
return 0;
}