Cod sursa(job #698337)
Utilizator | Sulea Vlad shuleav | Data | 29 februarie 2012 13:30:36 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long long n,i,s[6000010],x,mini,maxi,st,fn;
int main(){
f>>n;
for(i=1;i<=n;i++){
f>>x;
s[i]=s[i-1]+x;
}
mini=st=0;maxi=-999999999;
for(i=1;i<=n;i++){
if (s[i]-mini>maxi) {
maxi=s[i]-mini;
fn=i;
}
if (s[i]<mini) {
mini=s[i];
st=i;
}
}
g<<maxi<<' '<<st+1<<' '<<fn<<'\n';
f.close();
g.close();
return 0;
}