Pagini recente » Cod sursa (job #487459) | Cod sursa (job #2611054) | Cod sursa (job #2168707) | Cod sursa (job #1745834) | Cod sursa (job #2694196)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
const int MAXN = 6000000;
int v[MAXN], sum[MAXN];
int inc[MAXN], sf[MAXN];
int main()
{
int n, i, sum_max, inc_sum, sf_sum, inc1;
in>>n;
for( i = 0; i < n; i++ )
in>>v[i];
sum[0] = v[0];
for( i = 0; i < n; i++ ){
if( sum[i - 1] > 0 ){
sum[i] = sum[i - 1] + v[i];
sf[i] = i;
inc[i] = inc1;
}
else{
sum[i] = v[i];
inc1 = i;
}
}
sum_max = v[0];
for( i = 0; i < n; i++ ){
//out<<inc[i]<<" "<<sf[i - 1]<<'\n';
if( sum[i] > sum_max ){
sum_max = sum[i];
inc_sum = inc[i];
sf_sum = sf[i];
}
}
out<<sum_max<<" "<<inc_sum + 1<<" "<<sf_sum + 1;
return 0;
}