Mai intai trebuie sa te autentifici.
Cod sursa(job #2674555)
| Utilizator | Data | 19 noiembrie 2020 17:04:09 | |
|---|---|---|---|
| Problema | Secventa 2 | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.84 kb |
#include <bits/stdc++.h>
using namespace std;
#define STOP fout.close(); exit(EXIT_SUCCESS);
ifstream fin("secv2.in");
ofstream fout("secv2.out");
///***********************
const int NMAX = 5e4 + 3;
int n, k, psum[NMAX];//partial sum
void read() {
fin >> n >> k;
for (int x, i = 1; i <= n; i++) {
fin >> x;
psum[i] = psum[i - 1] + x;
}
}
int main() {
read();
int ans = -1e9, pstart = 1, start, end, mini = 0;
for (int i = k; i <= n; i++) {
if (i > k && mini > psum[i - k]) {
mini = psum[i - k];
pstart = i - k + 1;
}
if (i >= k && ans < psum[i] - mini) {
ans = psum[i] - mini;
start = pstart;//possible start
end = i;
}
}
fout << start << ' ' << end << ' ' << ans << endl;
STOP
}
