Cod sursa(job #1640250)

Utilizator Radu_FilipescuFilipescu Radu Radu_Filipescu Data 8 martie 2016 16:39:52
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <fstream>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int s,p,pr,u,smax,n,i,a[6000001];

int main()
{
  fin>>n;
  for(i=1; i<=n; i++) fin>>a[i];

  s=1;
  smax=s;
  p=1;
  u=1;

  for(i=2; i<=n; i++)
    { if(s+a[i]>=a[i]) s=s+a[i];
      else {s=a[i]; pr=i;}
      if(s>smax) {smax=s; p=pr; u=i;}
      else if(s==smax && i-pr+1<u-p+1)
          {p=pr; u=i;}
    }
  fout<<smax<<' '<<p<<' '<<u;

   // fout<<sizeof(a)/1024.0/1024.0;
    return 0;
}