Pagini recente » Cod sursa (job #2708333) | Cod sursa (job #751600) | Cod sursa (job #2958904) | Cod sursa (job #2097818) | Cod sursa (job #2809284)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n, k, sp[50005], maxx = -(1 << 29), xa = 0, xb = 0;
deque<int> dq;
int main()
{
fin >> n >> k;
for (int i = 1; i <= n; i++)
fin >> sp[i], sp[i] += sp[i - 1];
for (int i = k; i <= n; i++)
{
while (!dq.empty() && sp[dq.back()] > sp[i - k])
dq.pop_back();
dq.push_back(i - k);
if (sp[i] - sp[dq.front()] > maxx)
{
maxx = sp[i] - sp[dq.front()];
xa = dq.front() + 1;
xb = i;
}
}
fout << xa << " " << xb << " " << maxx;
}