Cod sursa(job #2927525)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 20 octombrie 2022 19:30:13
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include<fstream>

using namespace std;

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

int v[6000001], n, smax, st, dr, suma, actst;

void ssm()
{
    actst = 1;
    dr = st = 1;
    suma = v[1];
    smax = v[1];
    for(int i = 2; i <= n; i++)
    {
        if(suma<0)
        {
            suma = v[i];
            actst = i;
        }
        else
        {
            suma += v[i];
        }
        if(suma > smax)
        {
            smax = suma;
            st = actst;
            dr = i;
        }
    }
}

int main()
{
    fin >> n;
    for(int i = 1; i <= n; i++)
        fin >> v[i];
    ssm();
    fout << smax << " " << st << " " << dr;
    return 0;
}