Cod sursa(job #482791)
Utilizator | Mario Ynocente Castro MarioYC | Data | 5 septembrie 2010 10:01:26 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <stdio.h>
int main(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int N,a;
scanf("%d",&N);
scanf("%d",&a);
int ans = a,s = 0,n = 1,best = a,s2 = 0,n2 = 1,i;
for(i = 1;i<N;++i){
scanf("%d",&a);
if(best<0){
best = a;
s2 = i;
n2 = 1;
}else{
best += a;
++n2;
}
if(best>ans){
ans = best;
s = s2;
n = n2;
}
}
printf("%d %d %d\n",ans,s+1,s+n);
return 0;
}