Cod sursa(job #2280531)
| Utilizator | Data | 10 noiembrie 2018 19:41:34 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.55 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in("secv2.in");
ofstream out("secv2.out");
int n, k, dp[50100], bst, st, dr;
set <pair <int, int > > s;
int main() {
in >> n >> k;
for (int i = 1; i <= n; i++) {
in >> dp[i];
dp[i] += dp[i - 1];
}
s.insert({0, 0});
for (int i = k; i <= n; i++) {
auto it = *s.begin();
if (dp[i] - it.first > bst) {
bst = dp[i] - it.first;
st = it.second + 1;
dr = i;
}
s.insert({dp[i - k + 1], i - k + 1});
}
out << st << ' ' << dr << ' ' << bst;
return 0;
}
