Cod sursa(job #3335397)

Utilizator mateilupuMatei Lupu mateilupu Data 22 ianuarie 2026 16:51:37
Problema Carnati Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <algorithm>

using namespace std;

struct ura {
    int t, p;
};

ura v[2005];

bool cmp (ura a, ura b) {
    if(a.t < b.t)
        return true;
    return false;
}

int main()
{
    ifstream cin ("carnati.in");
    ofstream cout ("carnati.out");
    int n, i, c, s, sol = 0, j;
    cin >> n >> c;
    for(i = 1; i <= n; i++)
        cin >> v[i].t >> v[i].p;
    sort(v + 1, v + n + 1, cmp);
    v[0].t = v[1].t;
    for(i = 1; i <= n; i++) {
        s = 0;
        for(j = 1; j <= n; j++) {
            s -= (v[j].t - v[j - 1].t) * c;
            if(s < 0)
                s = 0;
            if(v[j].p >= v[i].p)
                s += v[i].p;
            sol = max(sol, s);
        }
    }
    sol -= c;
    cout << sol;
    return 0;
}