Pagini recente » Cod sursa (job #1236115) | Cod sursa (job #718197) | Cod sursa (job #3134166) | Cod sursa (job #3151192)
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int NMAX = 50003;
long long max_ind[NMAX], v[NMAX], n, k, smax = -25100, st, dr;
int main() {
fin >> n >> k;
for (int i = 1; i <= n; i++) {
fin >> v[i];
v[i] += v[i - 1];
}
max_ind[n] = n;
for (int i = (int)(n - 1); i >= k; i--) {
int j = max_ind[i + 1];
if (v[i] < v[j])
max_ind[i] = j;
else
max_ind[i] = i;
}
for (int i = 0; i <= n - k; i++) {
int j = i + k;
j = (int)max_ind[j];
cout << i << ' ' << j << '\n';
long long sum = v[j] - v[i];
cout << sum << '\n';
if (sum > smax) {
smax = sum;
st = i;
dr = j;
}
}
for (int i = 1; i <= n; i++)
cout << max_ind[i] << ' ';
st++;
fout << st << ' ' << dr << ' ' << smax;
return 0;
}