Cod sursa(job #3236728)

Utilizator RuxandraPro12_Metehau Ruxandra Maria RuxandraPro12_ Data 30 iunie 2024 18:13:39
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include<fstream>
#include<iostream>
#include<algorithm>

using namespace std;

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

int n, s[6000005];

int main()
{
    fin >> n;
    for (int i = 1; i <= n; i++) {
        fin >> s[i];
    }
    for (int i = 1; i <= n; i++) {
        s[i] += s[i - 1];
    }
    int rsp = 0, i1 = 0, j1 = 0;
    int mn = 0, ind_mn = 0;
    for (int j = 1; j <= n; j++) {
        // presupunem ca mn este ce ne trebuie
        // min(s[0], ..., s[j-1])
        if (rsp < s[j] - mn) {
            rsp = s[j] - mn;
            j1 = j;
            i1 = ind_mn;
        }
        if (s[j] < mn) {
            mn = s[j];
            ind_mn = j;
        }
    }
    fout << rsp << " " << i1 + 1 << " " << j1;
    return 0;
}