Cod sursa(job #274525)
| Utilizator | Data | 9 martie 2009 20:20:59 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream.h>
int main()
{
long n,a[6000000],best,i,incep,sfc=1,incepc=1,sf,max=-2147483647;
ifstream fin("ssm.in");
fin>>n;
for (i=1; i<=n; i++)
fin>>a[i];
best=a[1];
for (i=2; i<=n; i++)
if (a[i]>best+a[i])
{
best=a[i];
incepc=i; sfc=i;
} else
{
best=best+a[i];
sfc++;
if (best>max)
{
max=best;
incep=incepc;
sf=sfc;
}
}
ofstream fout("ssm.out");
fout<<max<<" "<<incep<<" "<<sf;
fin.close();
fout.close();
return 0;
}