Cod sursa(job #1811935)
| Utilizator | Data | 21 noiembrie 2016 18:34:46 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | gym1_emag_mediu_2016 | Marime | 0.58 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000005], i, n, sum, sc, sm, p, x, y;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
{
fin>>a[i];
}
sc=a[1];
sm=a[1];
p=x=y=0;
for(i=2;i<=n;i++)
{
if(a[i]+sc<a[i])
{
sc=a[i];
p=i;
}
else sc+=a[i];
if(sc>sm)
{
sm=sc;
x=i;
y=p;
}
}
fout<<sm<<' '<<y<<' '<<x;
return 0;
}
