Cod sursa(job #269463)
Utilizator | Data | 2 martie 2009 22:21:13 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.56 kb |
#include<stdio.h>
int x,sol=-6000001,p1,p2,i,n,sc,ps1,ps2;
int main(void)
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
sc=sol;
for(i=1;i<=n;i++)
{
scanf("%d",&x);
if(x>sc+x)
{
p1=p2=i;
sc=x;
}
else
{
p2=i;
sc+=x;
}
if(sc>sol)
{
sol=sc;
ps1=p1;
ps2=p2;
}
}
printf("%d %d %d\n",sol,ps1,ps2);
return 0;
}