Pagini recente » Cod sursa (job #1360807) | Cod sursa (job #2463642) | Cod sursa (job #2584293) | Cod sursa (job #447648) | Cod sursa (job #2516861)
#include <fstream>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
const int NMAX = 2001;
long long max(long long a, long long b)
{
return (a > b) ? a : b;
}
long long min(long long a, long long b)
{
return (a < b) ? a : b;
}
struct carnati
{
long long t, p;
};
carnati a[NMAX];
long long n, c, maxi;
int main()
{
fin >> n >> c;
for (int i = 1; i <= n; ++i)
fin >> a[i].t >> a[i].p;
for (int i = 1; i <= n; ++i)
{
int ant = 0;
for (int j = 1; j <= n; ++j)
{
int g = 0;
if (a[j].p >= a[i].p) g = a[i].p;
int cr = ant - (a[j].t - a[j - 1].t) * c + g;
if (cr < g - c) cr = g - c;
maxi = (cr > maxi) ? cr : maxi;
ant = cr;
}
}
fout << maxi << "\n";
return 0;
}