Cod sursa(job #1984112)

Utilizator infomaxInfomax infomax Data 23 mai 2017 18:51:56
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

ifstream F("ssm.in");
ofstream G("ssm.out");

int n, st, dr, v[6000005], smst, smdr;
int smc, smg; ///suma maxima crescatoare si suma maxima globala

int main()
{
    F >> n;
    for(int i = 1; i <= n; ++ i)
        F >> v[i];
    smg = v[1];
    smc = v[1];
    st = dr = smst = smst = 1;
    for(int i = 2; i <= n; ++ i)
    {
        if(smc < 0)
            smc = v[i], st = i;
        else
            smc += v[i];
        if(smc > smg)
            smg = smc, smst = st, smdr = i;
    }
    G << smg << " " << smst << " " << smdr;
    return 0;
}