Pagini recente » Cod sursa (job #2657414) | Cod sursa (job #648656) | Cod sursa (job #1114910) | Cod sursa (job #173966) | Cod sursa (job #2891271)
#include <bits/stdc++.h>
using namespace std;
#define name "secv2"
#define NMAX 50005
int main()
{
FILE *f = fopen(name ".in", "r");
int n, k;
fscanf(f, "%d%d", &n, &k);
int v[NMAX];
for (int i = 1; i <= n; ++i)
fscanf(f, "%d", &v[i]);
fclose(f);
deque<pair<int, int>> dq;
int sum = 0;
for (int i = 1; i <= k; ++i) {
sum += v[i];
dq.push_back({v[i], i});
}
vector<int> ans = {1, k, sum};
for (int i = k + 1; i <= n; ++i) {
sum += v[i];
dq.push_back({v[i], i});
while (dq.size() > k && sum - dq.front().first > sum) {
sum -= dq.front().first;
dq.pop_front();
}
if (sum > ans[2])
ans = {dq.front().second, dq.back().second, sum};
}
f = fopen(name ".out", "w");
fprintf(f, "%d %d %d\n", ans[0], ans[1], ans[2]);
fclose(f);
}