Pagini recente » Cod sursa (job #735588) | Cod sursa (job #442834) | Cod sursa (job #223327) | Cod sursa (job #2911542) | Cod sursa (job #416622)
Cod sursa(job #416622)
#include <fstream>
using namespace std;
const char* in = "secv2.in";
const char* out = "secv2.out";
const int NMAX = 50005;
const int INF = (1<<30);
int N, K;
int sum[NMAX], minx, maxx, sol;
int begin, end;
int main ( void )
{
freopen ( in, "r", stdin );
freopen ( out, "w", stdout );
scanf ( "%d%d", &N, &K );
int i,okj,Y;
for ( i = 1; i <= N; ++i )
{
scanf ( "%d", &Y );
sum[i] = sum[i-1] + Y;
}
sol = maxx = sum[K];
begin = 1;
end = K;
okj = 1;
for ( i = K+1; i <= N; ++i ) {
maxx += sum[i]-sum[i-1];
if ( maxx < sum[i] - sum[i-K] )
maxx = sum[i] - sum[i-K], okj = i-K+1;
if ( maxx > sol ) sol = maxx, begin = okj, end = i;
}
/* if ( minx > sum[i-K] ) minx = sum[i-K], okj = i-K+1;
X = sum[i] - minx;
if ( X > maxx ) maxx = X, begin = okj, end = i;
}
*/
printf ( "%d %d %d\n", begin, end, sol );
return 0;
}