Cod sursa(job #3256604)

Utilizator kosmy88Vasile George-Cosmin kosmy88 Data 15 noiembrie 2024 12:47:01
Problema Subsecventa de suma maxima Scor 5
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.42 kb
// Programare_Dinamica_Secv-summax.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <fstream>
using namespace std;

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

int s[1001], v[1001], n;

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

    s[1] = v[1];
    int start = 1;
    int final = 1;
    
    int maxim = s[1];

    for (int i = 2; i <= n; i++) {
        if (s[i - 1] + v[i] > v[i]) {
            s[i] = s[i - 1] + v[i];
        }
        else {
            start = i;
            s[i] = v[i];
        }
        if (s[i] > maxim) {
            maxim = s[i];
            final = i;
        }
    }

    fout << maxim<<" "<< start <<" "<<final;

    return 0;
}

// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file