Cod sursa(job #279544)

Utilizator Bogdan_CCebere Bogdan Bogdan_C Data 12 martie 2009 21:07:40
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<cstdio>
#define max 320000
using namespace std;
int n,a[10000];
void citire()
{freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
 scanf("%d",&n);
 for(int i=1;i<=n;i++)
  scanf("%d",&a[i]);    
     
     }
int main()
{
    citire();
    int poz=1,sum[10000];
    sum[0]=0;
    int best=-max;
    for(int i=1;i<=n;i++)
    {sum[i]=sum[i-1]+a[i];
    if(sum[i]>best) {best=sum[i];poz=i;} }
    int best2=-max,poz2=poz;
    for(int j=poz;j>=1;j--)
     {if((sum[poz]-sum[j-1])>best2) {best2=sum[poz]-sum[j-1];poz2=j;}}
     for(int i=poz2;i<=poz;i++)
      printf("%d",a[i]);
    return 0;}