Pagini recente » Cod sursa (job #729887) | Cod sursa (job #2505065) | Cod sursa (job #1654143) | Cod sursa (job #310703) | Cod sursa (job #1478127)
#include <fstream>
#include <algorithm>
#define maxn 2010
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
struct man
{
int t,p;
}v[maxn];
int n,c,best;
bool cmp (man a, man 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 = -1;
for (int i = 1; i <= n; ++i)
{
int maxv = v[i].p;
int currentBest = 0;
for (int j = 1; j <= n; ++j)
{
int newGain = 0;
if (v[j].p >= maxv)
newGain = maxv;
if (currentBest - c * (v[j].t - v[j-1].t - 1) > 0)
currentBest += newGain - c * (v[j].t - v[j-1].t);
else
currentBest = newGain - c;
best = max(best, currentBest);
}
}
fout << best;
}