Pagini recente » Cod sursa (job #1392503) | Cod sursa (job #2327136) | Cod sursa (job #1498599) | Cod sursa (job #1293140) | Cod sursa (job #855422)
Cod sursa(job #855422)
#include <fstream>
#include <algorithm>
#define DIM 2001
#define T first
#define P second
using namespace std;
ifstream in ("carnati.in");
ofstream out ("carnati.out");
pair <int, int> Client[DIM];
int N, C, Max_P, currentP, lastP, G;
int main()
{
int i, j;
in >> N >> C;
for (i = 1; i <= N; i++)
{
in >> Client[i].T >> Client[i].P;
}
sort (Client + 1, Client + N + 1);
for (i = 1; i <= N; i++)
{
lastP = 0;
for (j = 1; j <= N; j++)
{
if (Client[j].P >= Client[i].P) G = Client[i].P;
else G = 0;
currentP = lastP - (Client[j].T - Client[j-1].T) * C + G;
if (G - C > currentP) currentP = G - C;
if (currentP > Max_P ) Max_P = currentP;
lastP = currentP;
}
}
out << Max_P;
return 0;
}