Pagini recente » Cod sursa (job #2136877) | Cod sursa (job #340493) | Cod sursa (job #1824491) | Cod sursa (job #3236600) | Cod sursa (job #1309959)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("carnati.in");
ofstream g("carnati.out");
struct poz{int t,p;};
poz a[2001];
bool cmp(poz a,poz b)
{
return a.t<b.t;
}
int d[2001],MAX,j,n,c,i;
int main()
{
f>>n>>c;
for (i=1;i<=n;i++)
f>>a[i].t>>a[i].p;
sort(a+1,a+n+1,cmp);
MAX=0;
for (i=1;i<=n;i++)
{
for (j=1;j<=n;j++)
{
if (a[j].p>=a[i].p)
d[j]=max(a[i].p-c,d[j-1]+a[i].p-(a[j].t-a[j-1].t)*c);
else
d[j]=max(0,d[j-1]-(a[j].t-a[j-1].t)*c);
MAX=max(d[j],MAX);
}
}
g<<MAX;
return 0;
}