Pagini recente » Cod sursa (job #352728) | Cod sursa (job #721628) | Cod sursa (job #1857232) | Cod sursa (job #970372) | Cod sursa (job #2333080)
#include <stdio.h>
#include <math.h>
#include <algorithm>
#define N 2001
struct carnat
{
int t, p;
}v[N];
bool cmp(carnat a, carnat b)
{
if(a.t < b.t)
return true;
else
return false;
}
int main()
{
freopen("carnati.in", "r", stdin);
freopen("carnati.out", "w", stdout);
int n, c, i, smax, s;
scanf("%d%d", &n, &c);
for (i = 1; i <= n; i++)
scanf("%d%d", &v[i].t, &v[i].p);
std::sort(v + 1, v + n + 1, cmp);
s = 0;
smax = -INFINITY;
for (i = 1; i <= n; i++)
{
if (s < 0)
s = 0;
else
{
if (s > smax)
smax = s;
s = s + v[i].p + (v[i].t - v[i - 1].t) * c;
}
}
printf("%d", smax);
return 0;
}