Pagini recente » Cod sursa (job #1498294) | Cod sursa (job #1325420) | Cod sursa (job #1766274) | Cod sursa (job #934403) | Cod sursa (job #3130009)
#include <bits/stdc++.h>
using namespace std;
ifstream fin( "secv2.in" );
ofstream fout( "secv2.out" );
const int MAXN = 50005;
int S[MAXN];
int mn[MAXN], pos[MAXN];
int main() {
int n, k, x;
fin >> n >> k;
for ( int i = 1; i <= n; ++i ) {
fin >> x;
S[i] = S[i-1] + x;
mn[i] = S[i];
}
pos[0] = 0;
mn[0] = 0;
for ( int i = 1; i <= n; ++i ) {
if ( mn[i] > mn[i-1] ) {
mn[i] = mn[i-1];
pos[i] = pos[i-1];
} else {
pos[i] = i;
}
}
int res = -2e9, l = 0, r = 0;
for ( int i = k; i <= n; ++i ) {
if ( S[i] - mn[i - k] > res ) {
l = pos[i - k] + 1;
r = i;
res = S[i] - mn[i - k];
}
}
fout << l << " " << r << " " << res;
fin.close();
fout.close();
return 0;
}