Cod sursa(job #274256)
| Utilizator | Data | 9 martie 2009 16:12:21 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.39 kb |
#include <fstream.h>
#define nmax 6000005
ifstream fin("ssm.in");
ofstream fout("ssm.out");
long n,s[nmax],min,k,j,i,best;
int main()
{fin>>n;
for (i=1;i<=n;i++) {fin>>s[i]; s[i]=s[i]+s[i-1];}
for (i=1;i<=n;i++)
{if (s[i]-min>best)
{best=s[i]-min;
k=i;
}
if (min>s[i]) {min=s[i]; j=i+1;};
}
fout<<best<<" "<<j<<" "<<k;
fout.close();
return 0;
}