Cod sursa(job #549973)
Utilizator | Data | 9 martie 2011 08:57:58 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 65 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
//subsir crescator maximal
#include<fstream.h>
ifstream q("ssm.in");
ofstream w("ssm.out");
int v[60000001],n,i,s,sm,p,u,j;
int main(){
q>>n;
for(i=1;i<=n;++i)
q>>v[i];
sm=-(1<<31);
p=u=0;
for(i=1;i<=n;++i){
s=v[i];
if(s>sm){
sm=s;
p=i;
u=i;
}
j=i+1;
while(j<=n&&s+v[j]>0){
s=s+v[j];
if(s>sm){
sm=s;
p=i;
u=j;
}
++j;
}
}
w<<sm<<' '<<p<<' '<<u<<'\n';
w.close();
return 0;
}