Cod sursa(job #1526699)

Utilizator tc_iuresiures tudor-cristian tc_iures Data 17 noiembrie 2015 02:04:20
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>

using namespace std;

const int INF  = 2000000000;

int sMax, iMax, jMax, sum, minim, N, iMaxIntermediar;
bool poz;

void read()
{
   ifstream f("ssm.in");
   f >> N;
   sum = 0;
   minim = 0;
   sMax = -INF;
   for(int i = 1; i <= N; i ++)
   {
       int x;
       f >> x;
       sum = sum + x;
       if(sum-minim > sMax)
       {
       sMax = sum-minim;
       jMax = i;
       iMax = iMaxIntermediar;
       }
       if(sum < minim)
       {
         minim = sum;
         iMaxIntermediar = i+1;
       }
   }
   f.close();
}

void print()
{
   ofstream g("ssm.out");
   g << sMax << " " << iMax << " " << jMax;
   g.close();
}

int main()
{
    read();
    print();
    return 0;
}