Cod sursa(job #3322615)

Utilizator Costy2345Costi Dimian Costy2345 Data 15 noiembrie 2025 00:31:52
Problema Subsecventa de suma maxima Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;

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


const int NMAX = 6000000 + 2;

int n, v[NMAX], s[NMAX], l[NMAX];

int main()
{
    fin >> n;
    for(int i = 1; i <= n; i++)
    {
        fin >> v[i];
    }
    int imax = -1;
    s[1] = v[1];
    for(int i = 2; i <= n; i++) 
    {
        if(s[i - 1] + v[i] >= v[i])
        {
            s[i] = s[i - 1] + v[i];
            l[i] = l[i - 1];
        }
        else{
            s[i] = v[i];
            l[i] = i;
        }
        if(s[i] > s[imax])
        {
            imax = i;
        }
    }
    fout << s[imax] << " " << l[imax] << " " << imax << "\n";
    return 0;
}