Cod sursa(job #881801)
| Utilizator | Data | 18 februarie 2013 17:22:24 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
using namespace std;
ifstream in ("ssm.in");
ofstream out ("ssm.out");
long v[6000000];
int main()
{
long sc=0,i,n,smax=0,stmax=1,drmax=1,stc=1;
in >>n;
for (i=1;i<=n;i++) {in>>v[i];}
for (i=2;i<=n;i++) {
if (sc<0) {sc=0; stc=i;}
sc+=v[i];
if (sc>smax) {smax=sc; stmax=stc; drmax=i;}
}
out <<smax<<" "<<stmax<<" "<<drmax;
return 0;
}
