Cod sursa(job #885497)
Utilizator | Data | 22 februarie 2013 08:24:49 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <cstdio>
#include <algorithm>
using namespace std;
int i,aux,n,b,k,j,p,a[500010],m,st,s,stmax,drmax,smax,nr;
int main()
{
freopen ("ssm.in","r",stdin);
freopen ("ssm.out","w",stdout);
scanf("%d",&n);
smax=-100000000;
for(i=1;i<=n;i++)
{
scanf("%d",&nr);
if(s+nr>=nr)
{
s=s+nr;
}
else
{
s=nr;
st=i;
}
if(smax<s)
{
smax=s;
stmax=st;
drmax=i;
}
}
printf("%d %d %d",smax,stmax,drmax);
}