Pagini recente » Cod sursa (job #3151244) | Cod sursa (job #3224095) | Cod sursa (job #2499447) | Cod sursa (job #182753) | Cod sursa (job #137263)
Cod sursa(job #137263)
#include <stdio.h>
long max, profit, i, n, maxim, max2, k, j, pret, c, v[2048][2048], m[2048];
struct lol
{
long h, p;
};
lol buyer[2048];
int main()
{
freopen ("carnati.in", "rt", stdin);
freopen ("carnati.out", "wt", stdout);
scanf("%ld %ld", &n, &c);
for (i = 1; i <= n; i ++)
{
scanf("%ld %ld", &buyer[i].h, &buyer[i].p);
}
for (i = 1; i <= n; i ++)
{
v[buyer[i].h][++ v[buyer[i].h][0]] = i;
max = buyer[i].h > max ? buyer[i].h : max;
max2 = buyer[i].p > max2 ? buyer[i].p : max2;
}
for (j = 1; j <= n; j ++)
{
pret = buyer[j].p;
profit = 0;
for (i = 1; i <= max; i ++)
{
for (k = 1; k <= v[i][0]; k ++)
if (pret <= buyer[v[i][k]].p)
profit += pret;
profit -= c;
if (profit < 0)
profit = 0;
maxim = profit > maxim ? profit : maxim;
}
}
printf("%ld\n", maxim);
return 0;
}