Pagini recente » Cod sursa (job #355138) | Cod sursa (job #73225) | Cod sursa (job #1811239) | Cod sursa (job #1802731) | Cod sursa (job #2030198)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream si("carnati.in");
ofstream so("carnati.out");
int d[2005];
pair<int,int> v[2005];
int main()
{
int sol=0;
int n,c;
si>>n>>c;
for(int i=1;i<=n;i++)
si>>v[i].first>>v[i].second;
sort(v+1,v+n+1);
v[0].first=v[1].first-1;
for(int j=1;j<=n;j++)
for(int i=1;i<=n;i++)
{
d[i]=0;
if(v[j].second<=v[i].second)
d[i]=v[j].second;
d[i]=max(d[i]+d[i-1]-(v[i].first-v[i-1].first)*c,d[i]-c);
sol=max(sol,d[i]);
}
so<<sol;
return 0;
}