Pagini recente » Cod sursa (job #2479896) | Cod sursa (job #2116372) | Cod sursa (job #2390466) | Cod sursa (job #18263) | Cod sursa (job #2707561)
#include <fstream>
#include <algorithm>
#define NMAX 2000
#define TMAX 1500
using namespace std;
typedef long long ll;
int timp[TMAX];
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");
int n, C;
fin >> n >> C;
for (int i = 0; i < n; i++)
{
fin >> v[i].t >> v[i].p;
}
sort(v, v + n, cmp);
int nr = 0, maxx = -1;
for (int i = 0; i < n; i++)
{
timp[v[i].t]++;
nr = 0;
for (int j = 1; j <= TMAX; j++)
{
nr = timp[j] * v[i].p - C + max(nr, 0);
if (nr > maxx)
{
maxx = nr;
}
}
}
fout << maxx;
return 0;
}