Pagini recente » Cod sursa (job #1212814) | Cod sursa (job #422106) | Cod sursa (job #1660208) | Cod sursa (job #1683748) | Cod sursa (job #2940087)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sum2.in");
ofstream fout("sum2.out");
long long n, u, l, i, m = -999999;
long long a, s[500002];
long long q[500002], st = 1, dr;
int main() {
fin >> n >> l >> u;
for(i = 1; i <= n; i++) {
fin >> a;
s[i] = s[i - 1] + a;
}
for(i = 1; i < l; i++) {
while(dr >= st && s[i] <= s[q[dr]]) dr--;
q[++dr] = i;
}
for(i = l; i <= n; i++) {
if(i - q[st] > u) st++;
while(dr >= st && s[i] <= s[q[dr]]) dr--;
q[++dr] = i;
m = max(m, s[i] - s[q[st]]);
}
fout << m;
return 0;
}