Pagini recente » Cod sursa (job #2962736) | Cod sursa (job #2611075) | Cod sursa (job #2859885) | Cod sursa (job #2574278) | Cod sursa (job #2848418)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
#define MAXN 2001
#define MAXT 1501
struct client
{
long long time, price;
};
client v[MAXN];
int val[MAXT];
int main()
{
long long n, k, i, j, maxx_time = 0;
fin >> n >> k;
for(i = 1; i <= n; i++)
{
fin >> v[i].time >> v[i].price;
maxx_time = max(maxx_time, v[i].time);
}
long long pret = 0, ans = -99999999;
for(i = 1; i <= n; i++)
{
pret = v[i].price;
for(j = 1; j <= maxx_time; j++)
val[j] = -k;
for(j = 1; j <= n; j++)
if(v[j].price >= pret)
val[v[j].time] += pret;
int sum = 0;
for(j = 1; j <= maxx_time; j++)
{
sum += val[j];
if(sum < 0)
sum = 0;
if(sum > ans)
ans = sum;
}
}
fout << ans;
return 0;
}