Cod sursa(job #371187)
Utilizator | Idomir Alin idomiralin | Data | 4 decembrie 2009 01:03:13 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int main()
{int i,n,a[100],best[100],bestsum,pozf,pozi,pozfi;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%d",&a[i]);
bestsum=0;pozi=1;
for (i=1;i<=n;i++)
{
best[i]=a[i];
if (best[i]<=best[i-1]+a[i])
best[i]=best[i-1]+a[i];
else pozi=i;
if (bestsum<best[i])
{bestsum=best[i];
pozf=i;}
}
printf("%d %d %d",bestsum,pozfi,pozf);
return 0;
}