Pagini recente » Clasament micul_informatican | Ceva interesant de vazut?:) | Monitorul de evaluare | Mihnea Andreescu | Cod sursa (job #416615)
Cod sursa(job #416615)
#include <fstream>
using namespace std;
const char* in = "secv2.in";
const char* out = "secv2.out";
const int NMAX = 50005;
int N, K;
int sum[NMAX], minx, maxx;
int begin, end;
int main ( void )
{
freopen ( in, "r", stdin );
freopen ( out, "w", stdout );
scanf ( "%d%d", &N, &K );
int i,okj,X,Y;
for ( i = 1; i <= N; ++i )
{
scanf ( "%d", &Y );
sum[i] = sum[i-1] + Y;
}
maxx = sum[K];
minx = sum[1];
begin = 1; end = K;
for ( i = K+1; i <= N; ++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, maxx );
return 0;
}