Pagini recente » Cod sursa (job #1729668) | Cod sursa (job #929295) | Cod sursa (job #1877073) | Cod sursa (job #1870364) | Cod sursa (job #1562607)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
const int LIM=2001;
int n, c;
struct cli
{
int t, p;
} v[LIM];
bool cmp(cli a, cli b){ return a.t<b.t; }
int profit(int x)
{
int ans=0, cur=0, este=0;
for(int i=1; i<=n; ++i)
{
if(este)
{
cur-=c*(v[i].t-v[i-1].t);
if(x<=v[i].p) cur+=x;
}
else
if(x<=v[i].p and x>c)
{
este=1;
cur=x-c;
}
if(cur<0)
este=cur=0;
if(ans<cur) ans=cur;
}
return ans;
}
int main()
{
cin>>n>>c;
for(int i=1; i<=n; ++i)
cin>>v[i].t>>v[i].p;
sort(v+1, v+n+1, cmp);
int ans=0;
for(int i=1; i<=n; ++i)
{
int x=profit(v[i].p);
if(ans<x) ans=x;
}
cout<<ans;
return 0;
}