Pagini recente » Cod sursa (job #32788) | Cod sursa (job #1967991) | Cod sursa (job #449687) | Cod sursa (job #316986) | Cod sursa (job #675354)
Cod sursa(job #675354)
#include<stdio.h>
#include<algorithm>
using namespace std;
struct carnat{
int t,p;
};
bool cmp(carnat x, carnat y){
return x.t<y.t;}
carnat v[2012];
int n,C,maxt;
int profitt(int pret)
{
int i,profit=0,sol=0;
for(i=1;i<=n;i++)
{
if(i>1) profit-=(v[i].t-v[i-1].t-1)*C;
if(profit<0)
profit=0;
if(v[i].p>=pret)
profit+=pret;
profit-=C;
if(profit>sol)
sol=profit;
}
return sol;
}
int main()
{
freopen("carnati.in","r",stdin);
freopen("carnati.out","w",stdout);
int i,sol=0,pret,x;
scanf("%d%d",&n,&C);
for(i=1;i<=n;i++)
{
scanf("%d%d",&v[i].t,&v[i].p);
}
sort(v+1,v+n+1,cmp);
for(i=1;i<=n;i++)
{
pret=profitt(v[i].p);
if(pret>sol)
sol=pret;
}
printf("%d",sol);
return 0;
}