Pagini recente » Cod sursa (job #1970615) | Cod sursa (job #475423) | Cod sursa (job #1085562) | Cod sursa (job #2555023) | Cod sursa (job #2341996)
#include <bits/stdc++.h>
using namespace std;
ifstream in("carnati.in");
ofstream out("carnati.out");
struct om
{
int t;
int p;
};
bool cmp(om a, om b)
{
return a.t < b.t;
}
om v[2001];
int main()
{
int pr = -999999, n, prmax = -1, c, pret, G;
in>>n>>c;
for(int i = 1; i<=n; i++)
{
in>>v[i].t>>v[i].p;
}
sort(v+1, v+n+1, cmp);
v[0].t = v[1].t;
for(int j = 1; j<=n; j++)
{
pret = v[j].p;
pr = 0;
int ans = -9999999;
for(int i = 1; i<=n; i++)
{
if(v[i].p>=pret)
G = pret;
else
G = 0;
pr = max(pr - (v[i].t - v[i-1].t)*c, 0);
pr+=G;
ans = max(ans, pr - c);
if(ans>prmax)
{
prmax = ans;
}
}
}
out<<prmax;
return 0;
}