Pagini recente » Cod sursa (job #1596068) | Cod sursa (job #2384042) | Cod sursa (job #2422483) | Cod sursa (job #553891) | Cod sursa (job #2324693)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("carnati.in");
ofstream out("carnati.out");
struct carnati {
int t; int p;
bool operator< (const carnati& altul) const {
return t < altul.t;
};
} v[2005];
int n,C;
int main() {
in>>n>>C;
for (int i = 1; i <= n; ++i)
in>>v[i].t>>v[i].p;
sort(v + 1,v + n + 1);
int rez = - (1<<20);
for (int i = 1; i <= n; ++i) {
int summax = -(1<<20);
int pret = v[i].p, profit = 0;
for (int j = 1; j <= n; ++j) {
int castig = 0;
if (pret <= v[j].p)
castig = pret;
profit = max(profit - (v[j].t - v[j-1].t)*C + castig,castig - C);
summax = max(summax,profit);
}
rez = max(rez,summax);
}
out<<"\n\n\n"<<rez;
return 0;
}