Pagini recente » Cod sursa (job #508958) | Cod sursa (job #2087450) | Cod sursa (job #966670) | Cod sursa (job #2235800) | Cod sursa (job #1438096)
#include <cstdio>
#include <climits>
using namespace std;
#define Nmax 6000002
#define inf 0x3f3f3f3f
FILE *f = fopen ( "ssm.in", "r" );
FILE *g = fopen ( "ssm.out", "w" );
int main(){
int N, maxsum = LONG_MIN, sum = LONG_MIN, st = 0, sts, drs, lg = 0, x;
fscanf ( f, "%d", &N );
for ( int i = 1; i <= N; ++i ){
fscanf ( f, "%d", &x );
if ( x > 1LL * sum + x ){
st = i;
lg = 1;
sum = x;
}
else{
sum += x;
lg++;
}
if ( sum > maxsum ){
maxsum = sum;
sts = st;
drs = st + lg - 1;
}
}
if ( sum > maxsum ){
maxsum = sum;
sts = st;
drs = st + lg - 1;
}
fprintf ( g, "%d %d %d", maxsum, sts, drs );
return 0;
}