Cod sursa(job #2282900)
Utilizator | Data | 14 noiembrie 2018 18:38:13 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n,i,x,s,poz1,poz2,pozm1,pozm2,maxim=INT_MIN;
int main(){
fin>>n;
for(i=1;i<=n;i++){
fin>>x;
if(x>s+x){
s=x;
poz1=i;
poz2=i;
}else{
s+=x;
poz2=i;
}
if(s>maxim){
maxim=s;
pozm1=poz1;
pozm2=poz2;
}
}
fout<<maxim<<" "<<pozm1<<" "<<pozm2;
return 0;
}