Pagini recente » Cod sursa (job #770795) | Cod sursa (job #2264084) | Cod sursa (job #1892864) | Cod sursa (job #2833321) | Cod sursa (job #2139397)
#include <fstream>
#include <algorithm>
using namespace std;
long long n,c,x,i,j,sum,maxi,g;
pair <int,int> v[2001];
ifstream fin ("carnati.in");
ofstream fout ("carnati.out");
int main (){
fin>>n>>c;
for (i=1;i<=n;i++)
fin>>v[i].first>>v[i].second;
/// t[i] p[i]
sort (v+1,v+n+1);
for (i=1;i<=n;i++){
/// avem fixat pretul v[i].second
if (v[i].second <= v[1].second)
g = v[i].second;
else
g = 0;
sum = g - c;
maxi = max (maxi,sum);
for (j=2;j<=n;j++){
if (v[i].second <= v[j].second)
g = v[i].second;
else
g = 0;
if (sum - (v[j].first - v[j-1].first)*c + g >= g-c)
sum = sum - (v[j].first-v[j-1].first)*c+g;
else
sum = g-c;
maxi = max (maxi,sum);
}
}
fout<<maxi;
return 0;
}