Cod sursa(job #2698786)

Utilizator 2016Teo@Balan 2016 Data 23 ianuarie 2021 00:03:48
Problema Carnati Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>
using namespace std;
#define x1 "carnati.in"
#define x2 "carnati.out"
ifstream in(x1);
ofstream out(x2);
#define NMAX 2000
struct client {
    int p, t;
} v[NMAX];
bool cmp(const client& a, const client&b) {
    return a.t < b.t;
}
int main() {
    int n, i, j, c, ans = 0, l, l1;
    in >> n >> c;
    for(i = 0; i < n; i++)
        in >> v[i].t >> v[i].p;
    sort(v, v + n, cmp);
    v[0].t = -1;
    for(i = 0; i < n; i++) {
        l = l1 = 0;
        for(j = 0; j < n; j++) {
            if(v[i].p <= v[j].p) {
                l = max(l + v[i].p - c * (v[j].t - v[l1].t), v[i].p - c);
                ans = max(ans, l);
                l1 = j;
            }
        }
    }
    out << ans;
    return 0;
}