Pagini recente » Cod sursa (job #2977096) | Cod sursa (job #399123) | Cod sursa (job #2062295) | Cod sursa (job #110674) | Cod sursa (job #2735579)
#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;
}