Cod sursa(job #1087690)
Utilizator | Modan Valentin vlcmodan | Data | 19 ianuarie 2014 19:09:39 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include<stdio.h>
int a[100000],best[100000],i,j,n,bestie,x[10000],y[10000],xi,yi;
using namespace std;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&a[i]);
bestie=a[1];
for(i=2;i<=n;i++)
{
best[i]=a[i];
x[i]=i;
y[i]=i;
if(best[i]<best[i-1]+a[i])
{
best[i]=best[i-1]+a[i];
x[i]=x[i-1];
y[i]=i;
}
if(bestie<best[i])
{
xi=x[i];
yi=y[i];
bestie=best[i];
}
}
printf("%d %d %d\n",bestie,xi,yi);
return 0;}