Cod sursa(job #996281)
Utilizator | TestulSuprem GigelDaTeste | Data | 11 septembrie 2013 15:52:30 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include<fstream>
#define dim 6000050
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int i,s[dim],n,minu,best,endu,idd,beg,a[dim];
int main () {
f>>n;
for(i=1;i<=n;++i){
f>>a[i];
s[i]=s[i-1]+a[i];
}
minu=a[1];
for(i=2;i<=n;++i){
if(best<s[i]-minu){
best=s[i]-minu;
beg=idd+1;
endu=i;
}
if(s[i]<minu){
minu=s[i];
idd=i;
}
}
g<<best<<" "<<beg<<" "<<endu<<"\n";
return 0;
}