Pagini recente » Cod sursa (job #3219964) | Cod sursa (job #883247) | Cod sursa (job #1985898) | Cod sursa (job #3191292) | Cod sursa (job #2362213)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n, k, s[50100], Deque[50000], st, dr, sol = -200000000, p1, p2;
int main()
{
f >> n >> k;
for(int i=1; i<=n; i++)
{
int x;
f >> x;
s[i] = s[i-1] + x;
}
st = 1;
dr = 0;
for(int i=k; i<=n; i++)
{
while(st <= dr && s[i-k] <= s[Deque[dr]]) dr--;
Deque[++dr] = i - k;
cout << Deque[dr] << ' ';
if(i >= k)
if(s[i] - s[Deque[st]] > sol)
{
sol = s[i] - s[Deque[st]];
p1 = Deque[st] + 1;
p2 = i;
}
}
g << p1 << ' ' << p2 << ' ' << sol << '\n';
return 0;
}