Pagini recente » Cod sursa (job #2010276) | Cod sursa (job #2775714) | Cod sursa (job #1247226) | Winter Challenge, Clasament pentru clasele IX-X | Cod sursa (job #756698)
Cod sursa(job #756698)
#include <fstream>
using namespace std;
ifstream fin("euro.in");
ofstream fout("euro.out");
#define MAXN 34569
int N, T;
int x[MAXN];
long long best[MAXN];
int main()
{
fin >> N >> T;
best[0] = 0;
int i, last = 1;
int j;
long long S = 0;
int p = -1;
for (i = 1; i <= N; i++)
{
fin >> x[i];
best[i] = -(1LL << 60);
p = -1;
S = 0;
for (j = i; j >= last; j--)
{
S += i * x[j];
if (best[j - 1] + S - T > best[i])
{
best[i] = best[j - 1] + S - T;
p = j;
}
}
last = p;
}
fout << best[N];
fin.close();
fout.close();
return 0;
}