Cod sursa(job #1831507)
Utilizator | Data | 18 decembrie 2016 11:13:08 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <fstream>
#include <climits>
using namespace std;
int n,s,smax,x,nr,nrmax,i,dr;
int main()
{
ifstream cin("ssm.in");
ofstream cout("ssm.out");
cin>>n;
s=0;
nr=1;
smax=INT_MIN;
for(i=1;i<=n;i++){
cin>>x;
if(s+x>=x){
s=s+x;
nr++;
}
else{
s=x;
nr=1;
}
if(s>=smax){
smax=s;
nrmax=nr;
dr=i;
}
}
cout<<smax<<" "<<dr-nrmax+1<<" "<<dr;
return 0;
}