Pagini recente » Cod sursa (job #2303968) | Cod sursa (job #1906281) | Cod sursa (job #1231760) | Cod sursa (job #2807485) | Cod sursa (job #1355955)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
struct cumparator{
int t;
int p;
}v[2010];
int n, c, maxim;
int d[2010];
bool cmp(const cumparator &a, const cumparator &b){
return (a.t < b.t);
}
int main() {
fin >> n >> c;
for (int i = 1; i <= n; i++)
fin >> v[i].t >> v[i].p;
sort(v + 1, v + n + 1, cmp);
v[0].t = v[1].t - 1;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
d[j] = 0;
if (v[j].p >= v[i].p)
d[j] = v[i].p;
d[j] = max(d[j] + d[j - 1] - (v[j].t - v[j - 1].t) * c, d[j] - c);
maxim = max(maxim, d[j]);
}
}
fout << maxim << "\n";
return 0;
}