Cod sursa(job #615864)
| Utilizator | Data | 11 octombrie 2011 08:33:07 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
int S,x,i,inc,Smax,Sfmax,Imax,n,maxx,poz;
int main()
{
ifstream fi("ssm.in");
ofstream fo("ssm.out");
fi>>n;
maxx=-int(2e9);
for(i=1, inc=1;i<=n;i++)
{
fi>>x;
if(S<0) { S=x; inc=i; }
else S+=x;
if(S>Smax) Smax=S, Imax=inc, Sfmax=i;
if(x>maxx) maxx=x, poz=i;
}
if(maxx<0) fo<<maxx<<" "<<poz<<" "<<poz<<"\n"; else
fo<<Smax<<" "<<Imax<<" "<<Sfmax<<"\n";
}
