Cod sursa(job #3193844)

Utilizator Andrei061108Ciortea Andrei Andrei061108 Data 15 ianuarie 2024 20:57:23
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
    ifstream in("ssm.in");
    ofstream out("ssm.out");
    int n;
    in >> n;
    int sci = -1, smax = INT_MIN;
    int pmax, umax, pi;
    for (int i = 0; i < n; ++i) {
        int xi;
        in >> xi;
        if (xi > sci + xi) {
            sci = xi;
            pi = i;
        }
        else
        {
            sci += xi;
        }
        if (sci > smax)
        {
            smax = sci;
            pmax = pi;
            umax = i;
        }
    }
    out << smax << " " << pmax + 1 << " " << umax + 1;
    in.close();
    out.close();
    return 0;
}