Cod sursa(job #1091980)

Utilizator gerd13David Gergely gerd13 Data 26 ianuarie 2014 13:56:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std ;

const int NMAX = 6000005 ;
const int INFINIT  = 0x3f3f3f3f ;

ifstream cin("ssm.in") ;
ofstream cout("ssm.out") ;

int N, A[NMAX], dx, first, last, bestSum, sum;

int main()
{
    cin >> N ;
 for(int i = 1 ; i <=  N ; ++ i)
    cin >> A[i] ;
    bestSum = -INFINIT ;

     for(int i = 1; i <= N ; ++ i)
 {
     if(sum < 0)
         {
              sum = A[i];
           dx  = i ;
         }
        else sum = sum + A[i] ;
     if(bestSum < sum )
     {
         bestSum = sum;
          first = dx;
           last = i ;
     }

 }




        cout << bestSum << ' ' << first <<' '<< last;



    cin.close();
    cout.close();
    return 0 ;
}