Pagini recente » Cod sursa (job #2168315) | Cod sursa (job #2635696) | Cod sursa (job #2378497) | Cod sursa (job #2245677) | Cod sursa (job #2072985)
#include <fstream>
#include <algorithm>
#define t first
#define p second
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
int i, j, n,c;
long long maxi, prof;
pair <int , int> v[2002];
int ver(int a)
{
if(a>=v[i].p)
return v[i].p;
else
return 0;
}
int main()
{
fin>>n>>c;
for(i=1;i<=n;i++)
fin>>v[i].t>>v[i].p;
sort(v+1, v+n+1);
for(i=1;i<=n;i++)
{
prof=ver(v[1].p)-c;
maxi=max(maxi, prof);
for(j=2;j<=n;j++)
{
if(prof-(v[j].t-v[j-1].t)*c+ver(v[j].p)>=ver(v[j].p)-c)
prof=prof-(v[j].t-v[j-1].t)*c+ver(v[j].p);
else
prof=ver(v[j].p)-c;
maxi=max(maxi, prof);
}
}
fout<<maxi;
fin.close();
fout.close();
return 0;
}