Cod sursa(job #2968902)

Utilizator Ruxandra009Ruxandra Vasilescu Ruxandra009 Data 22 ianuarie 2023 12:44:36
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n, x, Max, pozf, Min[6000005] = {2000005}, S[6000005];
int main()
{
    f >> n;
    for(int i = 1; i <= n; i ++)
    {
        f >> x;
        S[i] = S[i - 1] + x;
        if(S[Min[i - 1]] <= S[i])Min[i] = Min[i - 1];
        else Min[i] = i;
    }

    for(int i = 1; i <= n; i ++)
        if(S[i] > Max)
        {
            pozf = i;
            Max = S[i];
        }

    g << Max - S[Min[pozf]] << " " << Min[pozf] + 1 << " " << pozf;
    return 0;
}