Cod sursa(job #2668463)
| Utilizator | Data | 4 noiembrie 2020 22:13:51 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 90 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, x, actualsum, bestsum=-1000000000, Begin=1, End=1, Newbegin=1;
int main()
{
fin >> n;
for( int i = 1; i < n; i++ ){
fin >> x;
if( actualsum < 0 ){
actualsum = x;
Newbegin = i;
}
else actualsum += x;
if( actualsum > bestsum ){
bestsum = actualsum;
Begin = Newbegin;
End = i;
}
}
fout << bestsum <<" "<< Begin <<" "<< End;
return 0;
}
