Pagini recente » Cod sursa (job #1446619) | Cod sursa (job #2279814) | Cod sursa (job #2240064) | Cod sursa (job #2554953) | Cod sursa (job #1511259)
#include <cstdio>
#include <algorithm>
using namespace std;
FILE *f = fopen ( "ssm.in" , "r" ) , *g = fopen ( "ssm.out" , "w" );
int N , number , i , left , pos , right;
long long maxim , sum;
void read()
{
fscanf ( f , "%d" , &N );
fscanf ( f , "%d" , &number );
sum = number; maxim = number; left = 1; right = 1;
for ( i = 2 ; i <= N ; i ++ )
{
fscanf ( f , "%d" , &number );
sum += number;
if ( sum < 0 )
{
if ( number > maxim )
{
maxim = number;
pos = i;
}
sum = 0;
left = i + 1;
}
else
if ( sum > maxim )
{
maxim = sum;
right = i;
}
}
if ( maxim < 0 )
left = right = pos;
}
int main()
{
read();
//print
fprintf ( g , "%lld %d %d\n" , maxim , left , right );
return 0;
}