Pagini recente » Cod sursa (job #1764713) | Cod sursa (job #783325) | Cod sursa (job #495914) | Cod sursa (job #1618111) | Cod sursa (job #1731533)
#include <fstream>
using namespace std;
ifstream fin("euro.in");
ofstream fout("euro.out");
const int MAX = 3475;
using LL = long long;
int N;
LL x;
LL K;
LL D[MAX];
LL sum[MAX];
void Read();
void Solve();
LL Trans( LL euro, int zi );
int main()
{
Read();
Solve();
fin.close();
fout.close();
return 0;
}
void Read()
{
int i;
fin >> N >> K;
for ( i = 1; i <= N; i++ )
{
fin >> x;
sum[i] = x + sum[i - 1];
}
}
void Solve()
{
int i, j;
for ( i = 1; i <= N; i++ )
{
D[i] = Trans(sum[i], i);
for ( j = 1; j < i; j++ )
{
D[i] = max( D[i], Trans(sum[i] - sum[j], i) + D[j] );
}
}
fout << D[N];
}
LL Trans( LL euro, int zi )
{
LL rez = euro * (1LL*zi) - K;
return rez;
}