Cod sursa(job #883609)
| Utilizator | Data | 20 februarie 2013 10:41:44 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 35 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
#include<cstdio>
int n,i,a,s,ind,indmax,inmax,smax,k,ok;
int main()
{
freopen("ssm.in","rt",stdin);
freopen("ssm.out","wt",stdout);
scanf("%ld",&n);
for(i=1; i<=n; i++)
{
scanf("%ld",&a);
k++;
if(a>s&&ok==1)
{
ok=0;
k=1;
s=a;
ind=i;
if(s>smax)
{
smax=s;
indmax=ind;
inmax=i;
}
}
else s+=a;if(a<0) ok=1;
if(s>smax)
{
smax=s;
indmax=ind;
inmax=i;
}
}
printf("%ld %ld %ld ",smax,indmax,inmax);
return 0;
}
