Pagini recente » Cod sursa (job #952953) | Cod sursa (job #1915344) | Cod sursa (job #2220090) | Cod sursa (job #2200560) | Cod sursa (job #2707575)
#include <fstream>
#include <algorithm>
#define NMAX 2000
#define TMAX 1500
using namespace std;
typedef long long ll;
ll timp[TMAX+1];
struct carnati
{
int t, p;
};
carnati v[NMAX];
bool cmp(carnati a, carnati b)
{
return (a.p > b.p);
}
int main()
{
ifstream fin("carnati.in");
ofstream fout("carnati.out");
ll n, C;
fin >> n >> C;
for (int i = 0; i < n; i++)
{
fin >> v[i].t >> v[i].p;
}
sort(v, v + n, cmp);
ll nr = 0, maxx = -1;
for (int i = 0; i < n; i++)
{
timp[v[i].t]++;
nr = 0;
for (int j = 0; j <= TMAX; j++)
{
nr = timp[j] * v[i].p - C + max(nr, 0LL);
if (nr > maxx)
{
maxx = nr;
}
}
}
fout << maxx;
return 0;
}