Pagini recente » Cod sursa (job #3158423) | Cod sursa (job #2763582) | Cod sursa (job #2768878) | Cod sursa (job #1725267) | Cod sursa (job #612103)
Cod sursa(job #612103)
#include<cstdio>
#include<utility>
#include<algorithm>
using namespace std;
int n,c,i,j,sum,SOL;
pair<int,int> V[2010];
void read(),solve();
int main()
{
read();
solve();
return 0;
}
void read()
{
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].first,&V[i].second);
}
}
void solve()
{
sort(V+1,V+n+1);
V[0].first=V[1].first-1;
for(i=1;i<=n;i++)
{
sum=0;
for(j=1;j<=n;j++)
{
if(V[j].second>=V[i].second)
{
sum=max(sum-(V[j].first-V[j-1].first)*c+V[i].second,V[i].second-c);
if(sum>SOL)SOL=sum;
}
else
{
sum-=(V[j].first-V[j-1].first)*c;
}
}
}
printf("%d\n",SOL);
}