Pagini recente » Cod sursa (job #1076639) | Cod sursa (job #2775773) | Cod sursa (job #670359) | Cod sursa (job #1909491) | Cod sursa (job #599570)
Cod sursa(job #599570)
# include <fstream>
# include <algorithm>
using namespace std;
ifstream f ("carnati.in");
ofstream g ("carnati.out");
struct stu { int i, j; } a[2010];
int n, c, i, j, sol, v[2010];
inline bool cmp (stu a, stu b)
{
return a.i < b.i;
}
int main ()
{
f >> n >> c;
for (i = 1; i <= n; ++i)
f >> a[i].i >> a[i].j;
sort (a + 1, a + n + 1, cmp);
a[0].i = a[0].j = v[0] = -100000;
for (i = 1; i <= n; ++i)
{
for (j = 1; j <= n; ++j)
{
if (a[j].j >= a[i].j)
v[j] = max (v[j - 1] - (a[j].i - a[j - 1].i) * c + a[i].j, a[i].j - c);
else
v[j] = max (v[j - 1] - (a[j].i - a[j - 1].i) * c, -c);
if (sol < v[j]) sol = v[j];
}
//sol = max (sol, v[n]);
}
g << sol << '\n';
g.close ();
return 0;
}