Pagini recente » Cod sursa (job #1549674) | Cod sursa (job #1218613) | Cod sursa (job #2342390) | Cod sursa (job #2945826) | Cod sursa (job #2927171)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
pair<int,int> a[2005];
int sol[101],maxi,maxim;
int main(){
int n, c;
cin>>n>>c;
for(int i=1;i<=n;i++){
cin>>a[i].first>>a[i].second;
}
sort(a+1,a+n+1);
for(int i=1;i<=n;i++){
int jj=1;
int t;
for(int k=1;k<=n;k++){
if(a[k].second>=a[i].second&&jj==1){
sol[jj]=a[i].second-c,t=a[k].first;
if(sol[jj]>maxi)
maxi=sol[jj],maxim=a[i].second;
jj++;
}
else if(a[k].second>=a[i].second){
// cout<<sol[jj]+a[i].second-(a[k].first-t)*c<<" ";
sol[jj]=max(sol[jj-1]+a[i].second-(a[k].first-t)*c,a[i].second-c);
if(sol[jj]>maxi)
maxi=sol[jj],maxim=a[i].second;
jj++,t=a[k].first;
}
}
//cout<<sol[jj-1]<<"\n";
}
cout<<maxi;
}