Pagini recente » Cod sursa (job #3306012) | Cod sursa (job #3347672) | Cod sursa (job #3324865) | Cod sursa (job #3199575) | Cod sursa (job #3335392)
#include <fstream>
#include <vector>
#include <algorithm>
#define int long long
using namespace std;
ifstream cin ("carnati.in");
ofstream cout ("carnati.out");
int n,c,ans,s,pp;
struct ura
{
int t,p;
};
bool c67(ura u, ura d)
{
if(u.t!=d.t)
return u.t<d.t;
return u.p<d.t;
}
signed main()
{
cin>>n>>c;
vector<ura> v(n);
for(int i=0;i<n;i++)
cin>>v[i].t>>v[i].p;
sort(v.begin(), v.end(), c67);
ans=-1000005;
for(int i=0;i<n;i++){
s=0;
pp=-1000005; ///precipitat alb-laptos
for(int j=0;j<n;j++){
if(j>=1)
s=s-((v[j].t-v[j-1].t)*c);
if(s<0)
s=0;
if(v[j].p>=v[i].p)
s+=v[i].p;
pp=max(pp, s);
}
ans=max(pp-c, ans);
}
cout<<ans;
return 0;
}