Cod sursa(job #1790783)
| Utilizator | Data | 28 octombrie 2016 18:31:57 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.96 kb |
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int i,j,n,sum,maxim,pozi,pozj,soli,solj,x;
int main () {
fin>>n;
pozi=1;
maxim=-10000000;
for(i=1;i<=n;i++){
fin>>x;
if(sum+x<0){
sum+=x;
if(sum>maxim){
maxim=sum;
soli=i;
solj=i;
}
}
else
if(sum+x>=x){
sum+=x;
pozj=i;
if(sum>maxim){
maxim=sum;
solj=pozj;
soli=pozi;
}
}
else{
sum=x;
pozi=i;
pozj=i;
if(sum>maxim){
maxim=sum;
solj=pozi;
soli=pozj;
}
}
}
fout<<maxim<<" "<<soli<<" "<<solj;
}
