Pagini recente » Cod sursa (job #1200839) | Cod sursa (job #1226629) | Cod sursa (job #2840007) | Cod sursa (job #2074616) | Cod sursa (job #2927914)
#include <fstream>
#include <climits>
#include <algorithm>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
struct om{
int t, p;
}v[2001];
bool cmp(om a, om b)
{
if(a.t!=b.t)
{
return a.t<b.t;
}
return a.p<b.p;
}
int main()
{
int n, k, i, s=0, smax=INT_MIN, poz=1, pret, j;
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>v[i].t>>v[i].p;
}
sort(v+1, v+n+1, cmp);
for(i=1;i<=n;i++)
{
s=-1;
int pret=v[i].p;
for(j=1;j<=n;j++)
{
if(v[j].p>=pret)
{
if(s>0)
{
s=s+pret-(v[j].t-poz)*k;
poz=v[j].t;
}
else
{
poz=v[j].t;
s=pret-k;
}
if(s>smax)
{
smax=s;
}
}
}
}
fout<<smax;
}