Pagini recente » Statistici emperor (emperorofheaven) | Cod sursa (job #335540) | Cod sursa (job #6592) | Cod sursa (job #1652076) | Cod sursa (job #2313305)
#include <bits/stdc++.h>
/// TONI BO$$ was here
/// #MLC
using namespace std;
struct carnat
{
int tp,pret;
bool operator <(const carnat &other) const
{
return tp<other.tp;
}
};
carnat v[2001];
int main()
{
int n,c,i,ssm,val,smax,s,p,j;
freopen("carnati.in","r",stdin);
freopen("carnati.out","w",stdout);
scanf("%d%d",&n,&c);
for(i=1; i<=n; i++)
scanf("%d%d",&v[i].tp,&v[i].pret);
sort(v+1,v+1+n);
ssm=0;
v[0].tp=v[1].tp;
for(i=1; i<=n; i++)
{
val=v[i].pret;
smax=s=0;
for(j=1; j<=n; j++)
if(v[j].pret>=val)
{
s=smax=val;
p=j;
break;
}
s-=c;
smax-=c;
for(++j; j<=n; j++)
if(v[j].pret>=val)
{
if(s-(v[j].tp-v[p].tp)*c+c<0)
s=val-c;
else
s+=val-(v[j].tp-v[p].tp)*c;
p=j;
if(smax<s)
smax=s;
}
ssm=max(ssm,smax);
}
printf("%d",ssm);
return 0;
}