Cod sursa(job #266368)
Utilizator | Data | 25 februarie 2009 13:10:55 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include <fstream.h>
int s,smax,pozi,pozf,a[30001],n,i;
int main()
{
ifstream in("ssm.in");
ofstream out("ssm.out");
in>>n;
for(i=1;i<=n;i++)
in>>a[i];
pozi=1;
for(i=1;i<n;i++)
{
if(s+a[i]>0)
{
s=s+a[i];
if(s>smax)
{
smax=s;
pozf=i;
}
}
else
{
pozi=i+1;
s=0;
}
}
out<<smax<<" "<<pozi<<" "<<pozf;
}