Cod sursa(job #640690)

Utilizator AlexandruSolotAlexandru Solot AlexandruSolot Data 26 noiembrie 2011 12:10:03
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <stdio.h>
#include <fstream>

using namespace std;
int a[6000005], ind[6000005], bst[6000005];
int main()
{
    int i, imax=1, jmax, n, smax=0;
   ifstream cin("ssm.in");
   ofstream cout("ssm.out");

    cin>>n;
    jmax=n;

   for(i=1; i<=n; i++)
        {
            cin>>a[i];
            if(a[i]<=bst[i-1]+a[i])  bst[i]=bst[i-1]+a[i], ind[i]=ind[i-1];
             else bst[i]=a[i], ind[i]=i;
      if( bst[i]>smax) {smax=bst[i]; imax=ind[i]; jmax=i;}
        }


    cout<<smax<<" "<<imax<<" "<<jmax;
    return 0;
}