Pagini recente » Cod sursa (job #1956619) | Cod sursa (job #2555640) | Cod sursa (job #3243752) | Cod sursa (job #2417892) | Cod sursa (job #2490157)
#include <iostream>
#include <fstream>
using namespace std;
const int NMAX = 6 * 1e6;
const long long INFINIT = 1000000000000000000;
ifstream fin ( "ssm.in" );
ofstream fout ( "ssm.out" );
int main()
{
int i, n;
int sp, x;
int max_sum_i;
long long max_sum, min_sp;
int poz_min, pozf, pozl;
fin >> n;
max_sum = -INFINIT;
min_sp = 0;
poz_min = 0;
sp = 0;
for ( i = 1; i <= n; i ++ ){
fin >> x;
sp += x;
max_sum_i = sp - min_sp;
if ( max_sum < max_sum_i ){ /// actualizez maximul
max_sum = max_sum_i;
pozl = i;
pozf = poz_min;
}
if ( min_sp > sp ){ /// calc pt urmatorul i
min_sp = sp;
poz_min = i;
}
}
fout << max_sum << ' ' << pozf + 1 << ' ' << pozl;
return 0;
}