Cod sursa(job #2389481)
| Utilizator | Data | 27 martie 2019 10:23:31 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <fstream>
using namespace std;
int x, n, i, s_ant, imax, s_max, st, dr, maxim, st_max, dr_max;
int main()
{
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
fin>>n;
st=1;
dr=1;
s_max=0;
maxim=-10000000000;
for (i=1; i<=n; i++)
{
fin>>x;
if (0>s_max)
{
st=i;
dr=i;
s_max=x;
}
else
if (0<=s_max)
{
dr=i;
s_max+=x;
}
if (s_max>maxim)
{
maxim=s_max;
st_max=st;
dr_max=dr;
}
}
fout<<maxim<<" "<<st_max<<" "<<dr_max;
}
