Cod sursa(job #300292)

Utilizator zbarniZajzon Barna zbarni Data 7 aprilie 2009 12:48:06
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream.h>
#define max(x,y) ((x)<(y)?(x):(y))
#define nx 6000005
#define inf 1<<32
int a[nx],best[nx];
int sum=-inf;
int main()
 {
  ifstream be ("ssm.in");
  ofstream ki ("ssm.out");
  int n,w,e,v,i,s;
  be>>n;
  e=v=0;
  for (i=1;i<=n;++i)
   {
    be>>a[i];
    best[i]=a[i];
    if (best[i]<best[i-1]+a[i])
     {
      best[i]=best[i-1]+a[i];
     }
    else
      w=i;
    if (sum<best[i])
      {
       sum=best[i];
       e=w;
       v=i;
      }
   }
 be.close();
 ki<<sum<<" "<<e<<" "<<v<<'\n';
 ki.close();
 return 0;
}