Pagini recente » Cod sursa (job #827104) | Cod sursa (job #3270048) | Cod sursa (job #3212929) | Cod sursa (job #2404372) | Cod sursa (job #2414748)
#include <fstream>
using namespace std;
ifstream cin("carnati.in");
ofstream cout("carnati.out");
int n,C,sol,D[1<<11],i,j;
struct pr
{
int a,b;
} v[1<<11];
void citire()
{
cin>>n>>C;
for( i=1; i<=n; i++)
cin>>v[i].a>>v[i].b;
}
void rezolvare()
{
v[0].a=v[1].a-1;
for(j=1;j<=n;j++)
for( i=1;i<=n;i++)
{
D[i]=0;
if(v[j].b<=v[i].b) D[i]=v[j].b;
//cout<<D[i]<<'\n';
D[i]=max(D[i]+D[i-1]-(v[i].a-v[i-1].a)*C,D[i]-C);
sol=max(sol,D[i]);
}
}
void printare()
{
cout<<sol;
}
int main()
{
citire();
rezolvare();
printare();
// sort(v+1,v+N+1);
// for(int i=1;i<=N;i++)
//g<<v[i].first<<' '<<v[i].second<<'\n';
return 0;
}