Cod sursa(job #394967)
| Utilizator | Data | 11 februarie 2010 20:55:44 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.4 kb |
#include<stdio.h>
int main(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int n,ax,max,ss,a,x,y,i;
scanf("%d",&n);
scanf("%d",&max);
ss=max;
x=y=1;
for(i=2;i<=n;++i){
scanf("%d",&ax);
ss+=ax;
if(ss>max){
max=ss;
x=a;
y=i;
}
if(ss<0){
ss=0;
a=i+1;
}
}
printf("%d %d %d\n",max,x,y);
fclose(stdin);
fclose(stdout);
return 0;
}
