Pagini recente » Cod sursa (job #1873859) | Cod sursa (job #1060754) | Cod sursa (job #2263926) | Cod sursa (job #22156) | Cod sursa (job #1797294)
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n, k, start_position, end_position;
long long solution = -25001 * 50001;
vector<int> sum;
void read() {
long long x;
f >> n >> k >> x;
sum.push_back(x);
for (int i = 1; i < n; ++i) {
f >> x;
sum.push_back(sum.back() + x);
}
}
void solve() {
long long minimum = 0;
start_position = -1;
end_position = k - 1;
solution = sum[k - 1];
for (int i = k; i < n; ++i) {
if (minimum > sum[i - k]) {
minimum = sum[i - k];
start_position = i - k;
}
if (sum[i] - minimum > solution) {
solution = sum[i] - minimum;
end_position = i;
}
}
g << start_position + 2 << " " << end_position + 1 << " " << solution << "\n";
}
int main() {
read();
solve();
f.close();
g.close();
return 0;
}