Pagini recente » Cod sursa (job #1965462) | Cod sursa (job #1162623) | Cod sursa (job #1931905) | Borderou de evaluare (job #2029713) | Cod sursa (job #2809283)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n, k, sp[50005], maxx, xa, xb;
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;
}