Cod sursa(job #1950876)
| Utilizator | Data | 3 aprilie 2017 12:28:06 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <cstdio>
int n,i,x,s,st,dr,smax,stmax,drmax;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d%d",&n,&x);
s=smax=x;
st=dr=stmax=drmax=1;
for (i=2; i<=n; i++)
{
scanf("%d",&x);
if (s+x>x) s=s+x,dr++;
else
{
s=x;
st=i;
dr=i;
}
if (s>smax)
{
smax=s;
stmax=st;
drmax=dr;
}
}
printf("%d %d %d\n",smax,stmax,drmax);
return 0;
}
