Cod sursa(job #1641518)
| Utilizator | Data | 8 martie 2016 23:56:01 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream>
using namespace std;
int n,v[6000000],i,sol,curent,pozstart,pozend,startcurent,s;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main(){
fin>>n;
curent=0;
sol=0;
for(i=1;i<=n;i++){
fin>>v[i];
if(curent<0){
curent=v[i];
startcurent=i;
}
else
curent=curent+v[i];
if(sol<curent){
sol=curent;
pozstart=startcurent;
pozend=i;
}
}
for(i=pozstart;i<=pozend;i++)
s=s+v[i];
fout<<s<<" "<<pozstart<<" "<<pozend;
return 0;
}
