Pagini recente » Cod sursa (job #118799) | Diferente pentru problema/zigzag2 intre reviziile 15 si 31 | Cod sursa (job #3349401) | Cod sursa (job #2656889) | Cod sursa (job #3335394)
#include <bits/stdc++.h>
using namespace std;
#define int long long
ifstream in("carnati.in");
ofstream out("carnati.out");
const int MXN = 2e3;
const int MXTi = 1500;
struct Client {
int t, p;
};
Client v[MXN + 1];
int n;
int c;
bool cmp(Client A, Client B) {
return A.t < B.t;
}
signed main()
{
in >> n >> c;
for(int i = 1; i <= n; ++i)
in >> v[i].t >> v[i].p;
sort(v + 1, v + 1 + n, cmp);
int maxim = 0, fixat;
int suma;
for(int z = 1; z <= n; ++z) {
fixat = v[z].p;
suma = 0;
v[0].t = v[1].t;
for(int i = 1; i <= n; ++i){
suma -= (v[i].t - v[i - 1].t) * c;
if(suma < 0)
suma = 0;
if(v[i].p >= fixat)
suma += fixat;
maxim = max(maxim, suma);
}
}
maxim -= c;
out << maxim << '\n';
return 0;
}