Pagini recente » Cod sursa (job #2998675) | Cod sursa (job #2408494) | Cod sursa (job #2623539) | Cod sursa (job #2407107) | Cod sursa (job #2815692)
#include <fstream>
#include <cstring>
#include <algorithm>
#define ull unsigned long long
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
const int NMAX = 2003;
struct cetatean
{
int t, p;
} v[NMAX];
bool cmp(cetatean a, cetatean b)
{
return a.t < b.t;
}
int main()
{
int n, c, i;
cin >> n >> c;
for (i = 1; i <= n; i++)
cin >> v[i].t >> v[i].p;
sort(v + 1, v + n + 1, cmp);
int ans = 0;
for (int i = 1; i <= n; i++)
{
int sc = 0, inc = 0;
for (int j = 1; j <= n; j++)
{
int ex = 1;
if (v[j].p < v[i].p)
ex = 0;
if (sc - c * (v[j].t - v[inc].t + 1) + ex * v[i].p < ex * v[i].p - c)
{
sc = ex * v[i].p;
inc = j;
}
else
{
sc = sc + ex * v[i].p;
}
ans = max(ans, sc - c * (v[j].t - v[inc].t + 1));
}
}
cout << ans << " ";
//cout << ans;
}