Cod sursa(job #2454229)

Utilizator G.LuminitaLuminita Guzovatii G.Luminita Data 7 septembrie 2019 19:24:07
Problema Subsecventa de suma maxima Scor 5
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <string.h>
#include <cstring>
#include <fstream>

using namespace std;

int n,c,b[6000009],maxim[6000009],max1,c1,c2;

void suma_maxima(){

    c1=1;
    c2=1;
    for (c=2;c<=n;c++){
            if (maxim[c-1]+b[c]>b[c]){

                maxim[c]=maxim[c-1]+b[c];

                if (maxim[c]>max1){

                    max1=maxim[c];
                    c2=c;
                }

            } else
            if (maxim[c-1]+b[c]<=b[c]){

                maxim[c]=b[c];

                if (maxim[c]>max1){

                    max1=maxim[c];
                    c1=c;
                    c2=c;
                }

            }


    }
}

int main(){

    ifstream f("ssm.in");
    f >> n;

    for (c=1;c<=n;c++)
        f >> b[c];
    f.close();

    suma_maxima();

    ofstream g("ssm.out");
    g << max1 << ' ' << c1 << ' ' << c2;
    g.close();

    return 0;
}