Cod sursa(job #898859)
| Utilizator | Data | 28 februarie 2013 11:59:20 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <cstdio>
#define inf 1<<30
int n,sum,s,best=-inf,index,beg,end;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
int i;
for(i=1;i<=n;i++)
{
scanf("%d",&s);
if(sum<0)
{
sum=s;
index=i;
}
else
sum+=s;
if(best<sum)
{
best=sum;
beg=index;
end=i;
}
}
printf("%d %d %d\n",best,beg,end);
return 0;
}
