Pagini recente » Cod sursa (job #1242535) | Cod sursa (job #52553) | Cod sursa (job #1925943) | Cod sursa (job #1067617) | Cod sursa (job #94299)
Cod sursa(job #94299)
#include <cstdio>
const int N = 50000;
int n,k;
int a[N], b[N], c[N], s[N];
int main() {
freopen("secv2.in","rt",stdin);
freopen("secv2.out","wt",stdout);
scanf(" %d %d %d ",&n,&k,&a[0]);
b[0] = a[0];
c[0] = (a[0] > 0) ? a[0] : 0;
s[0] = (a[0] > 0) ? a[0] : 0;
for (int i = 1; i<n; ++i) {
scanf(" %d ",&a[i]);
b[i] = b[i-1]+a[i];
if (c[i-1] + a[i] > 0) {
c[i] = c[i-1]+a[i];
s[i] = s[i-1];
} else {
c[i] = 0;
s[i] = i+1;
}
}
int sm = 0,fm = k,max = b[k-1];
for (int i = k; i<n; ++i) {
if (max < b[i]-b[i-k]+c[i-k]) {
max = b[i]-b[i-k]+c[i-k];
fm = i;
sm = s[i-k];
}
}
printf("%d %d %d\n",sm+1,fm+1,max);
return 0;
}