Cod sursa(job #2409193)

Utilizator Briana_NeaguNeagu Briana Briana_Neagu Data 18 aprilie 2019 19:37:08
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#define maxim 6000009

using namespace std;
int n, v[maxim];

struct idk
{
    int val,s,in;
}best,ultim;

ifstream f("ssm.in");
ofstream g("ssm.out");

int main()
{
 f>>n;
 for (int i=1;i<=n;i++)
        f>>v[i];
best.val=v[1];
best.s=best.in=1;
ultim=best;
 for (int i=2;i<=n;i++)
   if (v[i]+v[i-1]>v[i])
   {
       v[i]+=v[i-1];
       if (v[i]>best.val)
       {   best.val=v[i];
           best.s=i;
           best.in=ultim.in;
       }
   }
   else
   {   ultim.val=v[i];
       ultim.in=i;
       if (v[i]>best.val)
       {
           best.val=v[i];
           best.in=best.s=i;
       }
   }
   g<<best.val<<" "<<best.in<<" "<<best.s;
}