Pagini recente » Cod sursa (job #639234) | Cod sursa (job #860654) | Cod sursa (job #829961) | Cod sursa (job #822341) | Cod sursa (job #2098910)
#define DM 50001
#include <climits>
#include <fstream>
using namespace std;
ifstream fi ("secv2.in");
ofstream fo ("secv2.out");
int n, k, a, s[DM], mn[DM], pos[DM], mx = INT_MIN, lo, hi;
int main()
{
fi >> n >> k;
for (int i = 1; i <= n; ++i)
{
fi >> a;
s[i] = s[i-1] + a;
if (i > k)
{
if (s[i-k] < mn[i-1])
mn[i] = s[i-k], pos[i] = i - k;
else
mn[i] = mn[i-1], pos[i] = pos[i-1];
}
}
for (int i = k; i <= n; ++i)
if (mx < s[i] - mn[i])
{
mx = s[i] - mn[i];
lo = pos[i];
hi = i;
}
fo << lo + 1 << ' ' << hi << ' ' << mx;
return 0;
}