Pagini recente » Cod sursa (job #2914650) | Cod sursa (job #416508) | Cod sursa (job #2062338) | Cod sursa (job #761115) | Cod sursa (job #777124)
Cod sursa(job #777124)
#include <fstream>
#include <algorithm>
#define MAX 2005
using namespace std;
struct client
{
int p, t;
}v[MAX];
int dp[MAX], maxim, n, c;
bool cmp(client a, client b)
{
return a.t < b.t;
}
int main()
{
ifstream in("carnati.in"); in>>n>>c;
v[0].t = v[0].p = -10;
for(int i = 1; i <= n; i++) in>>v[i].t>>v[i].p;
in.close();
sort(v + 1, v + n + 1, cmp);
for(int i = 1; i <= n; i++)
{
int cost = v[i].p, g;
for(int j = 1; j <= n; j++)
{
g = (cost <= v[j].p ? cost : 0);
dp[j] = max(dp[j - 1] - (v[j].t - v[j - 1].t) * c + g, g - c);
maxim = max(maxim, dp[j]);
}
}
ofstream out("carnati.out"); out<<maxim; out.close();
return 0;
}