Pagini recente » Cod sursa (job #3349534) | Cod sursa (job #1969930) | Cod sursa (job #3301986) | Cod sursa (job #2851885) | Cod sursa (job #3343280)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("secv2.in");
ofstream fout ("secv2.out");
#define int long long
const int N_MAX = 50005;
int n, k, ans = -1e9, v[N_MAX], l = 1, r = 1;
deque <int> dq_min;
int32_t main() {
fin >> n >> k;
for (int i = 1; i <= n; i++) {
fin >> v[i];
v[i] += v[i - 1];
}
for (int i = k; i <= n; i++) {
int j = i - k;
while (!dq_min.empty() && v[dq_min.back()] > v[j])
dq_min.pop_back();
dq_min.push_back(i);
if (ans <= v[i] - v[dq_min.front()] && i - (dq_min.front() + 1) + 1 >= k) {
ans = v[i] - v[dq_min.front()];
l = dq_min.front() + 1;
r = i;
}
}
fout << l << " " << r << " " << ans << "\n";
return 0;
}