Cod sursa(job #2122165)

Utilizator CozehNita Horia Teodor Cozeh Data 4 februarie 2018 18:20:57
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int best[6000100];
int a[6000010];

int main()
{
    int i,bestSum=-6000100,N,st=1,dr=1,stp=1;
    fin>>N;
    for(i = 1; i <= N; i++){
        fin>>a[i];
    }
    for(i = 1; i <= N; i++){
        if(a[i] < best[i-1] + a[i]){
            best[i] = a[i] + best[i-1];
        }
        else{
            best[i] = a[i];
            stp = i;
        }
        if(bestSum < best[i]){
            bestSum = best[i];
            dr = i;
            st = stp;
        }
    }
    fout<<bestSum<<" "<<st<<" "<<dr<<"\n";
}