Pagini recente » Cod sursa (job #931218) | Cod sursa (job #2480875) | Cod sursa (job #1766009) | Cod sursa (job #951834) | Cod sursa (job #1419278)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
long int dp[2001],i,j,n,c,solutie,pr,val,Max;
struct structura
{
int t;
int p;
}v[2001];
int cmp(structura o, structura p1)
{
return o.t<p1.t;
}
int main()
{
fin>>n>>c;
for(i=1;i<=n;i++)
fin>>v[i].t>>v[i].p;
sort(v+1,v+n+1,cmp);
v[0].t=-1;
for(i=1;i<=n;i++)
{
val=v[i].p;
for(j=1;j<=n;j++)
{
if(val<=v[j].p)
pr=val;
else
pr=0;
dp[j]=max(dp[j-1]+pr-c*(v[j].t-v[j-1].t),pr-c);
if(dp[j]>Max)
Max=dp[j];
}
}
fout<<Max;
return 0;
}