Cod sursa(job #327908)

Utilizator LuffyBanu Lavinia Luffy Data 30 iunie 2009 15:57:16
Problema Subsecventa de suma maxima Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<stdio.h>
#define dim 6000001
using namespace std;
int a[dim],bst[dim];
int main()
{int n,i,poz,pozz;
int bsum=0;
  FILE *f=fopen("ssm.in","r"), *g=fopen("ssm.out","w");
fscanf(f,"%d",&n);
 for(i=1;i<=n;i++)
	fscanf(f,"%d",&a[i]);

 bsum=a[1];  
for(i=1;i<=n;i++) 
   
  {bst[i] = a[i];  
    if(bst[i]<bst[i-1]+a[i])   
        bst[i]=bst[i-1]+a[i];  
    if (bsum<bst[i])  
        {bsum=bst[i]; poz=i;}  
}
 for(i=poz;i>=1;i--)
	if(a[i]==bst[i]) {pozz=i; break;} 
fprintf(g,"%d ",bsum); fprintf(g,"%d ",pozz); fprintf(g,"%d\n",poz);
fclose(f);
fclose(g);
return 0;
}