Cod sursa(job #2654253)

Utilizator IRadu1529Radu Ionescu IRadu1529 Data 30 septembrie 2020 12:18:36
Problema Avioane Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <vector>
#include <fstream>
#include <algorithm>
#include <iostream>
using namespace std;

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

using VI = vector< int >;

VI v(N, 0);

int n, k, x;

int main() {

    ios::sync_with_stdio(false);
    fin.tie(0); fout.tie(0);

    fin >> n;

    VI v(n + 1, 0);

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

    sort(v.begin(), v.begin() + n + 1);

    int M = 0;

    for (int i = 0; i <= n; i++)
        for (int j = 0; j < i; j++)
        {
            int a = i * v[1], b = (j + 1) * v[i - j], c = dp[0][i];

            dp[0][i] = max(c, max(a, b));
        }

    for (int i = 0; i <= n; i++)
        for (int j = 0; j < i; j++)
        {
            int a = dp[0][i], b = ((j + 1) * v[i - j]) + (n - i) * v[i + 1], c = dp[1][i];

            dp[1][i] = max(c, max(a, b));

            c = dp[1][i];

            M = max(M, c);
        }

    fout << M;

    return 0;
}