Cod sursa(job #701411)
Utilizator | Data | 1 martie 2012 15:44:52 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.46 kb |
#include<cstdio>
using namespace std;
int i,n,v[6000000],minim,maxim,pozmin,pozmax;
int main(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i){
scanf("%d",&v[i]);
v[i]+=v[i-1];
}
v[0]=0;
minim=0;
for(i=1;i<=n;++i){
v[i]-=minim;
if(v[i]<minim){
minim=v[i];
pozmin=i+1;
}
if(v[i]>maxim){
maxim=v[i];
pozmax=i;
}
}
printf("%d %d %d",maxim,pozmin,pozmax);
return 0;
}