Pagini recente » Borderou de evaluare (job #3309157) | Borderou de evaluare (job #3309791) | Borderou de evaluare (job #980257) | Borderou de evaluare (job #2478245) | Cod sursa (job #3325762)
#include <fstream>
using namespace std;
int main(){
int n, i, x, sum, st, max_sum, r_st, r_dr;
ifstream fin( "ssm.in" );
ofstream fout( "ssm.out" );
fin >> n;
sum = st = 0;
r_st = r_dr = -1;
max_sum = -INT32_MAX;
for( i = 0; i < n; i++ ){
fin >> x;
sum += x;
if( sum > max_sum || ( sum == max_sum && st < r_st ) ){
max_sum = sum;
r_st = st;
r_dr = i;
}
if( sum < 0 ){
sum = 0;
st = i + 1;
}
}
fout << max_sum << ' ' << r_st + 1 << ' ' << r_dr + 1;
return 0;
}