Pagini recente » Cod sursa (job #2362906) | Cod sursa (job #1256913) | Cod sursa (job #1286184) | Cod sursa (job #488547) | Cod sursa (job #3261264)
#include <fstream>
#include <algorithm>
#include <set>
#define int long long
using namespace std;
ifstream in("carnati.in");
ofstream out("carnati.out");
int n, t[2010], p[2010], tMAX, c, mx, i, v[1510], dp;
set <int> x;
int check(int k)
{
int f = 0, dp = 0;
for (i = 0; i <= tMAX; i++)
v[i] = -c;
for (i = 1; i <= n; i++)
v[t[i]] += k * (k <= p[i]);
for (i = 0; i <= tMAX; i++)
{
dp = max(dp+v[i], v[i]);
f = max(f, dp);
}
return f;
}
int32_t main()
{
in >> n >> c;
for (i = 1; i <= n; i++)
{
in >> t[i] >> p[i];
tMAX = max(tMAX, t[i]);
x.insert(p[i]);
}
for (auto ind : x)
mx = max(mx, check(ind));
out << mx;
return 0;
}