Pagini recente » Cod sursa (job #2599958) | Cod sursa (job #729953) | Cod sursa (job #1161781) | Cod sursa (job #2366358) | Cod sursa (job #467389)
Cod sursa(job #467389)
#include<fstream>
using namespace std;
ifstream f1 ("carnati.in");
ofstream f2 ("carnati.out");
struct carn {int p,t;};
carn a[2005];
int compar (const void*p, const void *q)
{
carn x=*(carn*)p, y=*(carn*)q;
if (x.t>y.t) return 1;
if (x.t<y.t) return -1;
return 0;
}
int main()
{
int i,j,n,c,ax,b,maxx=0,G;
f1>>n>>c;
for (i=1; i<=n; i++) f1>>a[i].t>>a[i].p;
qsort (a+1,n,sizeof(a[0]), compar);
a[0].t=a[0].p=-10;
for(i=1;i<=n;++i)
{
if (a[0].p>=a[i].p) ax=a[i].p-c;
else ax=0;
maxx=max(maxx,ax);
for(j=1;j<=n;++j)
{
if(a[ j ].p>=a[ i ].p) G=a[ i ].p;
else G=0;
b=max( (ax-(a[ j ].t-a[ j-1 ].t)*c+G), G-c);
maxx=max(maxx,b);
ax=b;
}
}
f2<<maxx;
return 0;
}