Pagini recente » Rating Vlad Pojoga (Pojo) | Cod sursa (job #685730) | Cod sursa (job #2702521) | Cod sursa (job #502676) | Cod sursa (job #1297872)
#include<algorithm>
#include<stdio.h>
using namespace std;
int sol,pret,nr,cost,i,j,n;
struct str
{
int t,c;
};
str v[2004];
bool sortare(str a,str b)
{
return a.t<b.t;
}
int last,sum;
int main()
{
freopen("carnati.in","r",stdin);
freopen("carnati.out","w",stdout);
scanf("%d%d",&n,&cost);
for(i=1;i<=n;i++)
scanf("%d%d",&v[i].t,&v[i].c);
sort(v+1,v+1+n,sortare);
// for(i=1;i<=n;i++)
// printf("%d %d\n",v[i].t,v[i].c);
for(i=1;i<=n;i++)
{
pret=v[i].c;
sum=0;
last=v[1].t;
for(j=1;j<=n;j++)
{
if(sum==0)
last=v[j].t;
if(v[j].c>=pret)
sum+=pret;
if(sum-(v[j].t-last+1)*cost<=0)
{
if(v[j].c<pret)
sum=0;
else sum=pret;
last=v[j].t;
}
if(sum-(v[j].t-last+1)*cost>sol)
sol=sum-(v[j].t-last+1)*cost;
}
}
printf("%d",sol);
return 0;
}