Pagini recente » Cod sursa (job #2082681) | Cod sursa (job #807132) | Cod sursa (job #1224011) | Cod sursa (job #2530606) | Cod sursa (job #1674800)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
long long n,c,ans=-1;
struct om
{long long p,t;
} O[2016];
inline bool cmp(om a,om b)
{return a.t<b.t;
}
inline long long calc(long long pret)
{int i;
long long ans=0,act=0,a=0;
for(i=1;i<=n;i++)
{act=act-c*(O[i].t-O[i-1].t);
if(act<0)act=0;
if(O[i].p>=pret)act=act+pret;
ans=max(ans,act-c);
}
return ans;
}
int main()
{ fin>>n>>c;
for(int i=1; i<=n; i++)
fin>>O[i].t>>O[i].p;
sort(O+1,O+n+1,cmp);
for(int i=1; i<=n; i++)
ans=max(ans,calc(O[i].p));
fout<<ans;
}