Pagini recente » Cod sursa (job #543722) | Cod sursa (job #1390460) | Cod sursa (job #2491517) | Cod sursa (job #596221) | Cod sursa (job #2817027)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int SIZE_N = 50001;
int n, k, sp[SIZE_N];
int main() {
fin >> n >> k;
for (int i = 1; i <= n; ++i) {
fin >> sp[i];
}
long long begin = 1, end = k, valMin = 25000, pos = 0, sum = sp[1];
for (int i = 1; i <= n; ++i) {
sp[i] = sp[i - 1] + sp[i];
if (sp[i] - valMin > sum && i - pos >= k) {
sum = sp[i] - valMin;
begin = pos + 1;
end = i;
} else if (i >= k && sp[i] - sp[i - k] > sum) {
sum = sp[i] - sp[i - k];
begin = i - k + 1;
end = i;
}
if (sp[i] < valMin ) {
valMin = sp[i], pos = i;
}
}
if (n == k) {
fout << 1 << ' ' << k << ' ' << sp[k];
} else {
fout << begin << ' ' << end << ' ' << sum;
}
}