Cod sursa(job #2915427)

Utilizator MihaiVIIIIlinca Mihai MihaiVIII Data 22 iulie 2022 16:14:54
Problema Subsecventa de suma maxima Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    int n;
    ifstream in("ssm.in");
    ofstream out("ssm.out");
    in >> n;
    int partial[n+1]; 
    in >> partial [1];
    partial[0] = 0;
    int x = 0,y = 0,max = partial[1]; 
    for (int i = 2;i < n+1; i++)
    {
        int aux;
        in >> aux;
        partial[i] = partial[i-1] + aux; 
        
    }

    for (int j = 1; j <= n; j++)
    {
        int min = partial[j-1];
        int x1 = j -1;
        for (int i = j - 1; i >= 0; i--)
        {
            if (partial[i] < min)
            {
                min = partial[i];
                x1 = i;
            }
        }
        if (partial[j] - min > max)
        {
            max = partial[j] - min;
            y = j;
            x = x1 + 1;
        }
    }
    out << max <<" " << x << " " << y;

    return 0;
}