Pagini recente » Cod sursa (job #460939) | Cod sursa (job #952644) | Cod sursa (job #304881) | Cod sursa (job #2990639) | Cod sursa (job #1385589)
#include <fstream>
#include <algorithm>
#define nmax 2005
using namespace std;
ifstream f("carnati.in");
ofstream g("carnati.out");
int n,c,a[nmax],sol;
struct client{int t;int p;};
client v[nmax];
bool cmp(const client &x,const client &y)
{
return x.t<y.t;
}
int testing(int k)
{
int i,j,r=0;
for (i=1;i<=n;i++) {
a[i]=max(a[i-1]-(v[i].t-v[i-1].t)*c,-c);
if (v[i].p>=k)
a[i]+=k;
r=max(a[i],r);
}
return r;
}
int main()
{
int i,j,p=0;
f>>n>>c;
for (i=1;i<=n;i++)
f>>v[i].t>>v[i].p;
sort(v+1,v+n+1,cmp);
for (i=1;i<=n;i++)
sol=max(sol,testing(v[i].p));
g<<sol<<'\n';
return 0;
}