Cod sursa(job #1953460)
| Utilizator | Data | 4 aprilie 2017 20:35:16 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int v[6000000];
int smax,s,pozinc=1,pozsf,inc=1,n,i;
int main()
{ fin>>n;
for(i=1;i<=n;i++) fin>>v[i];
for(i=1;i<=n;i++)
{s=s+v[i];
if(s>smax) {smax=s;pozsf=i;pozinc=inc;}
else if(s<0) {s=0;inc=i+1;}
}
fout<<smax<<' '<<pozinc<<' '<<pozsf;
fout.close();
return 0;
}
