Cod sursa(job #2735579)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 2 aprilie 2021 16:35:24
Problema Euro Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX(34580);
const long long inf(LLONG_MIN);
typedef long long ll;
ll dp[NMAX], v[NMAX], sum[NMAX];

int main()
{
    int n, t;
    fin >> n >> t;

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

        sum[i] = sum[i - 1] + v[i];
    }

    for(int i = 1; i <= n; ++i){
        dp[i] = -t;
        ll maxx = inf;
        for(int j = 1; j <= i; ++j)
            maxx = max(maxx, dp[j - 1] + ((sum[i] - sum[j - 1]) * i));
        dp[i] += maxx;
    }

    fout << dp[n] << '\n';
    return 0;
}