Pagini recente » Cod sursa (job #2001780) | Cod sursa (job #1937249) | Cod sursa (job #1175804) | Cod sursa (job #3176043) | Cod sursa (job #2930544)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
struct persoana{
long long t;
long long p;
} v[2005];
bool cmp(persoana a, persoana b) {
if(a.t!=b.t){
return a.t<b.t;
}
else
return a.p<b.p;
}
long long i, j, n, m, c, k, aux;
long long d[2005], t[2005];
int main() {
cin>>n>>c;
for(i=1;i<=n;i++) {
cin>>v[i].t>>v[i].p;
}
sort(v+1, v+n+1, cmp);
for(i=1;i<=n;i++){
for(j=1;j<=k;j++)
t[j]=0;
k=0;
for(j=1;j<=n;j++) {
if(v[j].p>=v[i].p){
t[++k]=v[j].t;
}
}
for(j=1;j<=k;j++){
d[j]=max(v[i].p-c, d[j-1]+v[i].p-c*(t[j]-t[j-1]));
aux = max(aux, d[j]);
}
}
cout<<aux;
}