Pagini recente » Cod sursa (job #1744456) | Cod sursa (job #2972867) | Cod sursa (job #2567529) | Cod sursa (job #281480) | Cod sursa (job #1471239)
#include <bits/stdc++.h>
using namespace std;
const int NM = 50005;
const int INF = -0x3f3f3f3f;
int N,K,Sol = INF,F,L;
int Sum[NM];
deque< int > D;
int main()
{
freopen("secv2.in","r",stdin);
freopen("secv2.out","w",stdout);
scanf("%d %d",&N,&K);
for (int i = 1;i <= N;i++)
scanf("%d",&Sum[i]),Sum[i] += Sum[i - 1];
for (int i = 0;i <= N - K;i++)
{
while (!D.empty() && Sum[D.back()] > Sum[i])
D.pop_back();
D.push_back(i);
if (Sol < Sum[i + K] - Sum[D.front()])
Sol = Sum[i + K] - Sum[D.front()],F = D.front() + 1,L = i + K;
}
printf("%d %d %d\n",F,L,Sol);
return 0;
}