Cod sursa(job #1811120)
Utilizator | Data | 20 noiembrie 2016 21:04:10 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | gym1_emag_mediu_2016 | Marime | 0.44 kb |
#include <fstream>
#include <climits>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n, a[6000001], xitemp, xi, yi, smax=INT_MIN, s=-1, i;
int main()
{
in>>n;
for (i=1; i<=n; ++i)
in>>a[i];
for(i=1;i<=n;++i)
{
if(s<0)
{
s=a[i];
xitemp=i;
}
else
s=s+a[i];
if(s>smax)
{
xi=xitemp;
smax=s;
yi=i;
}
}
out<<smax<<' '<<xi<<' '<<yi;
}