Cod sursa(job #2103112)
| Utilizator | Data | 9 ianuarie 2018 19:56:00 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int suma[6000001], n, s, prim1, prim2, ult;
int main()
{
int bs = -1000000000;
fin>>n;
for ( int i = 1; i <= n; ++i )
fin>>suma[i];
for ( int i = 1; i <= n; ++i )
{
if ( s < 0 )
{
s = suma[i];
prim1 = i;
}
else
s += suma[i];
if ( bs < s )
{
bs = s;
prim2 = prim1;
ult = i;
}
}
fout<<bs<<" "<<prim2<<" "<<ult;
}
