Cod sursa(job #2813379)

Utilizator rares2004Ioan Rares rares2004 Data 6 decembrie 2021 15:17:26
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

int main()
{
    int n;
    fin>>n;
    vector <int> v(n + 1);

    for(int i = 0; i < n; i++)
    {
        fin>>v[i];
    }
    int s = 0, st = 1, dr = 1, smax = (1 << 31), stcurent = 1;
    for(int i = 0; i < n; i++)
    {
        s += v[i];
        if(smax < s)
        {
            smax = s;
            dr = i;
            st = stcurent ;
        }
        if(s < 0)
        {
            s = 0;
            stcurent = i + 1;
        }
    }
    fout<<smax<<" "<<st + 1<<" "<<dr + 1;
    return 0;
}