Cod sursa(job #642344)
| Utilizator | Data | 1 decembrie 2011 09:29:42 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
const int N=6000000;
int sc,smax,i,nr[N],stc,n,drc,stmax,drmax;
void f(){
for(i=1 ; i<=n ; ++i){
if(sc>0){
sc+=nr[i];
drc=i-1;
}else{
sc = nr[i];
stc = i;
}
if(sc>smax)
smax=sc;
if(stc>stmax)
stmax=stc;
if(drc>drmax)
drmax=drc;
}
}
int main(){
in>>n;
for(i=1 ; i<=n ; ++i)
in>>nr[i];
f();
out<<smax<<" "<<stmax<<" "<<drmax;
return 0;
}
