Cod sursa(job #2927524)

Utilizator bogdan.schiopBogdan Schiop bogdan.schiop Data 20 octombrie 2022 19:29:43
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int v[6000001];
int n;
int st, dr, smax, s, sa;

void citire()
{
    fin >> n;
    for(int i = 1 ; i <= n ; i++)
        fin >> v[i];
}

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

void afisare()
{
    for(int i = 1 ; i <= n ; i++)
        cout << v[i] << ' ';
}

int main()
{
    citire();
    ssm();
    ///afisare();
    fout << smax << ' ' << st << ' ' << dr;
    return 0;
}