Pagini recente » Cod sursa (job #2307943) | Istoria paginii utilizator/narita | Cod sursa (job #2495698) | Atasamentele paginii pentru_adia | Cod sursa (job #593249)
Cod sursa(job #593249)
# include <algorithm>
# include <cstdio>
using namespace std;
# define T first
# define P second
typedef pair <int, int> PR ;
const char *FIN = "carnati.in", *FOU = "carnati.out" ;
const int MAX = 2005, oo = 0x7FFFFFFF ;
PR V[MAX] ;
int N, C, sol ;
int main (void) {
freopen (FIN, "r", stdin) ;
scanf ("%d %d", &N, &C) ;
for (int i = 1; i <= N; ++i)
scanf ("%d %d", &V[i].T, &V[i].P) ;
sort (V + 1, V + N + 1) ;
for (int i = 1; i <= N; ++i) {
PR aux (-oo, V[i].P) ;
for (int j = 1, k = 0; j <= N; ++j) {
if (aux.P <= V[j].P) {
aux.T = max (aux.T, V[j].T * C - k * aux.P) ;
sol = max (sol, k * aux.P - V[j].T * C + aux.T + aux.P - C), ++k ;
}
}
}
fprintf (fopen (FOU, "w"), "%d", sol) ;
}