Pagini recente » Cod sursa (job #534882) | Cod sursa (job #145592) | Cod sursa (job #2681021) | Cod sursa (job #1760862) | Cod sursa (job #1356561)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("carnati.in");
ofstream fout("carnati.out");
int n, C, vmax, i, j, D[2010];
struct carnati{
int t;
int p;
} v[2010];
int cmp(carnati a, carnati b){
return a.t < b.t;
}
int main()
{
fin >> n >> C;
for(i = 1; i <= n; i ++)
fin >> v[i].t >> v[i].p;
sort(v + 1, v + n + 1, cmp);
for(i = 1; i <= n; i ++)
for(j = 1; j <= n; j ++)
{
D[j] = 0;
if(v[i].p <= v[j].p)
D[j] = v[i].p;
D[j] = max(D[j] + D[j - 1] - (v[j].t - v[j - 1].t) * C, D[j] - C);
vmax = max(vmax,D[j]);
}
fout << vmax;
return 0;
}