Pagini recente » Istoria paginii runda/12345678901/clasament | Cod sursa (job #1099773)
#include <cstdio>
using namespace std;
#define NMAX 50003
#define INF 0x3f3f3f3f
int n, k, maxim = -INF, smax = -INF;
int sum[NMAX];
int main ()
{
freopen ("secv2.in", "r", stdin);
freopen ("secv2.out", "w", stdout);
int first, last, j, s;
scanf ("%d %d", &n, &k);
for (int i = 1, x; i <= n; ++i)
{
scanf ("%d", &x);
sum[i] = sum[i - 1] + x;
}
for (int i = n - k + 1; i > 0; --i)
{
if (sum[i + k - 1] > maxim)
{
j = i + k - 1;
maxim = sum[i + k - 1];
}
s = maxim - sum[i - 1];
if (s > smax)
{
first = i;
last = j;
smax = s;
}
}
printf ("%d %d %d\n", first, last, smax);
return 0;
}