Pagini recente » Cod sursa (job #2211081) | Cod sursa (job #1846995) | Cod sursa (job #661294) | Cod sursa (job #2551932) | Cod sursa (job #1480677)
#include <stdio.h>
const int maxN = 50000;
int v[maxN];
int main() {
freopen("secv2.in", "r", stdin);
freopen("secv2.out", "w", stdout);
int N, K, S, L, R, St, Dr, Smax, Si = 0;
scanf("%d%d", &N, &K);
for(register int i = 0; i < N; ++ i)
scanf("%d", &v[i]), Si += v[i];
S = Smax = v[0];
St = 0;
if(K == N)
printf("%d %d %d\n", 1, N, Si);
else {
for(register int i = 1; i < N; ++ i) {
if(S + v[i] > v[i])
S += v[i], Dr = i;
else
S = v[i], St = Dr = i;
if(S > Smax and (Dr - St + 1) >= K)
Smax = S, L = St, R = Dr;
}
if(S > Smax and (Dr - St + 1) >= K)
Smax = S, L = St, R = Dr;
printf("%d %d %d\n", ++ L, ++ R, Smax);
}
return 0;
}