Pagini recente » Cod sursa (job #2320542) | Cod sursa (job #1275315) | Cod sursa (job #1306607) | Cod sursa (job #1576654) | Cod sursa (job #1699016)
#include<stdio.h>
using namespace std;
const int N = 50005;
int sume[N];
int main ()
{
FILE *in, *out;
in = fopen ("secv2.in", "r");
out = fopen ("secv2.out", "w");
int n, k, s, maxim;
fscanf (in, "%d%d", &n, &k);
int i, x;
for (i = 1; i <= k; i++)
{
fscanf (in, "%d", &x);
sume[i] = sume[i - 1] + x;
}
maxim = sume[k];
s = maxim;
int stc = 1, stf = 1, drf = k;
for (i = k + 1; i <= n; i++)
{
if (sume[i - k] - sume[stc - 1] < 0)
{
s -= (sume[i - k] - sume[stc - 1]);
stc = i - k + 1;
}
fscanf (in, "%d", &x);
s += x;
sume[i] = sume[i - 1] + x;
if (maxim < s)
{
maxim = s;
stf = stc;
drf = i;
}
}
fprintf (out, "%d %d %d", stf, drf, maxim);
return 0;
}