Cod sursa(job #1026021)
Utilizator | Data | 10 noiembrie 2013 22:25:09 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <stdio.h>
#define fr(i,a,b) for(int i=a;i<b;++i)
int main(){
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int x,s=-1,sol,n,st,en,st1;
scanf("%i",&n);
bool any=false;
fr(i,0,n){
scanf("%i",&x);
s<0?s=x,st1=i:s+=x;
if(!any||s>sol) any=true,sol=s,en=i,st=st1;
}
printf("%i %i %i",sol,st+1,en+1);
return 0;
}