Cod sursa(job #640695)

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

using namespace std;
int a, ind[6000001], bst[6000001];
int main()
{
    int i, imax=1, jmax, n, smax;
   ifstream cin("ssm.in");
   ofstream cout("ssm.out");
    cin>>n;
    cin >> a;
    jmax=1;
    ind[1] = 1;
    bst[1] = a;
    smax = bst[1];
   for(i=2; i<=n; i++)
        {
            cin>>a;
            if(a<=bst[i-1]+a)  bst[i]=bst[i-1]+a, ind[i]=ind[i-1];
             else bst[i]=a, ind[i]=i;
      if( bst[i]>smax) {smax=bst[i]; imax=ind[i]; jmax=i;}
        }
    cout<<smax<<" "<<imax<<" "<<jmax;
    return 0;
}