Pagini recente » Cod sursa (job #1484295) | Cod sursa (job #1043389) | Cod sursa (job #285765) | Cod sursa (job #2057838) | Cod sursa (job #1517553)
#include<fstream>
#include<algorithm>
#include<vector>
#include <cstring>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
long long int n,m,k,i,j,p,x,y,t,best[2010],val,sol;
struct coada
{
int t,p;
};
coada c[2010];
bool cmp(coada i,coada j)
{
return i.t<j.t;
}
void init()
{
int i;
for(i=1;i<=n;i++)
{
best[i]=0;
}
}
int main()
{
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>c[i].t>>c[i].p;
}
sort(c+1,c+n+1,cmp);
sol=0;
for(i=1;i<=n;i++)
{
init();
val=c[i].p;
for(j=1;j<=n;j++)
{
if(c[j].p >= val)
{
x=val;
best[j]=val-k;
}
else x=0;
best[j]=max(best[j-1]-(c[j].t-c[j-1].t)*k+x,best[j]);
//best[j]=max(best[j],0);
sol=max(sol,best[j]);
}
/*fout<<val<<"------";
for(j=1;j<=n;j++)
{
fout<<best[j]<<" ";
}
fout<<"\n";*/
}
fout<<sol<<"\n";
for(i=1;i<=n;i++)
{
// fout<<c[i].t<<" "<<c[i].p<<"\n";
}
}