Pagini recente » Cod sursa (job #1050890) | Cod sursa (job #3249976)
#pragma GCC optimize("O3")
#pragma GCC optimize("fast-math")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
#define inf 0x3f3f3f3f
using namespace std;
int k, n, st, dr, smaxu = -inf, sp[200005];
deque<int>dq;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
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[i] - sp[dq.back()] <= sp[i] - sp[i - k])
{
dq.pop_back();
}
if(!dq.empty() && sp[i] - sp[dq.front()] > smaxu)
{
st = dq.front();
dr = i;
smaxu = sp[i] - sp[dq.front()];
}
dq.push_back(i - k);
}
fout << st + 1 << " " << dr << " " << smaxu;
return 0;
}