Cod sursa(job #2506077)

Utilizator RamanujanNeacsu Mihnea Ramanujan Data 7 decembrie 2019 14:09:11
Problema Subsecventa de suma maxima Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
///Algoritmul lui Kadane-subsecventa de suma maxima
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
    int n, a[500000], st, dr; fin>>n;
    for(int i=0; i<n; i++)
      fin>>a[i];
   int most=a[0], s=a[0];
   for(int i=1; i<n; i++)
   {
      s+=a[i];
      if(most<s)
      {
        most=s;
        dr=i+1;
      }
      if(s<0)
      {
        s=0;
        st=i+1;
      }
   }
    fout<<most<<" "<<st+1<<" "<<dr;
    fin.close();
    fout.close();
    return 0;
}