Pagini recente » Cod sursa (job #1480977) | Cod sursa (job #2235032) | Cod sursa (job #3199223) | Cod sursa (job #1134782) | Cod sursa (job #1906769)
#include <bits/stdc++.h>
using namespace std;
int n,c,i,ma,t,nr,mi,st,d,r,j,Ma,mma,tt,nrr;
pair<int,int>v[2010];
int main()
{
ifstream f ("carnati.in");
ofstream g ("carnati.out");
f>>n>>c;
for(i=1; i<=n; ++i)
f>>v[i].first>>v[i].second;
sort(v+1,v+n+1);
for(i=1; i<=n; ++i)
{
nr=0;
t=0;
ma=0;
mma=0;
for(j=1; j<=n; ++j)
if(i!=j)
{
if(v[j].second>=v[i].second)
{
if(t==0)t=v[j].first;
++nr;
if(mma!=0)++nrr;
}
else continue;
if(ma<nr*v[i].second-(v[j].first-t+1)*c)ma=nr*v[i].second-(v[j].first-t+1)*c;
else
{
--nr;
}
if(mma<nrr*v[i].second-(v[j].first-tt+1)*c)mma=nrr*v[i].second-(v[j].first-tt+1)*c;
else
{
--nrr;
}
}
else
{
mma=v[i].second-c;
nrr=1;
tt=v[i].first;
}
Ma=max(Ma,ma);
Ma=max(Ma,mma);
}
g<<Ma<<'\n';
return 0;
}