4503 2023. 03. 29 11:05:31 Error42 Gladiátorok (40 pont) cpp17 Elfogadva 40/40 354ms 8924 KiB
#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

using ll = long long;

struct glad {
    ll pow, inc;

    bool operator <(glad const& rhs) const {
        return pow < rhs.pow;
    }
};

int main() {
    int n, q;
    cin >> n >> q;

    vector<glad> g(n);

    for (auto& c : g)
        cin >> c.pow >> c.inc;

    sort(g.begin(), g.end());

    ll inc = 0;

    for (auto& c : g) {
        c.pow -= inc;
        inc += c.inc;
    }

    vector<ll> req(n);

    req[0] = g[0].pow;

    for (int i = 1; i < n; i++)
        req[i] = max(req[i - 1], g[i].pow);

    for (int i = 0; i < q; i++) {
        int p;
        cin >> p;

        cout << upper_bound(req.begin(), req.end(), p) - req.begin() << " ";
    }

    cout << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 40/40
1 Elfogadva 0/0 3ms 1812 KiB
2 Elfogadva 0/0 46ms 3404 KiB
3 Elfogadva 2/2 3ms 2276 KiB
4 Elfogadva 2/2 3ms 2484 KiB
5 Elfogadva 2/2 8ms 2708 KiB
6 Elfogadva 2/2 8ms 2680 KiB
7 Elfogadva 2/2 8ms 2936 KiB
8 Elfogadva 2/2 8ms 3236 KiB
9 Elfogadva 2/2 13ms 3276 KiB
10 Elfogadva 2/2 9ms 3448 KiB
11 Elfogadva 2/2 45ms 4040 KiB
12 Elfogadva 2/2 165ms 8064 KiB
13 Elfogadva 2/2 201ms 5724 KiB
14 Elfogadva 2/2 354ms 8188 KiB
15 Elfogadva 2/2 250ms 8144 KiB
16 Elfogadva 2/2 340ms 8144 KiB
17 Elfogadva 2/2 344ms 8144 KiB
18 Elfogadva 2/2 204ms 8408 KiB
19 Elfogadva 2/2 330ms 8352 KiB
20 Elfogadva 2/2 312ms 8612 KiB
21 Elfogadva 2/2 217ms 8924 KiB
22 Elfogadva 2/2 259ms 8880 KiB