Cod sursa(job #2042489)

Utilizator pSergiuPatras Sergiu pSergiu Data 18 octombrie 2017 18:38:32
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#define nmax 6000001
using namespace std;

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

int ssm[nmax];

int main()
{
    int n,a,i=1,ci=1,resi=1,resj=1;
    fin>>n;
    fin>>a;
    ssm[i] = a;
    int rez = ssm[i];
    i++;
    while(fin>>a){
        if(ssm[i-1] + a > a)
            ssm[i] = ssm[i-1] + a;
        else {
            ssm[i] = a;
            ci = i;
        }
        if(ssm[i] > rez){
            rez = ssm[i];
            resj = i;
            resi = ci;
        }
        i++;
    }
    fout<<rez;
    fout<<" "<<resi<<" "<<resj;
    return 0;
}