Pagini recente » Cod sursa (job #2409624) | Cod sursa (job #2035689) | Cod sursa (job #1325521) | Cod sursa (job #941655) | Cod sursa (job #3276370)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int NMAX = 50005;
int a[NMAX], s[NMAX];
signed main()
{
int n, k;
fin >> n >> k;
for(int i = 1; i <= n; i++)
fin >> a[i], s[i] = s[i-1] + a[i];
deque<int> dq;
int st = 1, dr = k, vmax = s[k];
for(int i = k; i <= n; i++)
{
while(!dq.empty() && s[i - k] <= s[dq.back()])
dq.pop_back();
dq.push_back(i - k);
if(vmax < s[i] - s[dq.front()])
{
vmax = s[i] - s[dq.front()];
dr = i;
st = dq.front() + 1;
}
}
fout << st << " " << dr << " " << vmax;
return 0;
}