45032023-03-29 11:05:31Error42Gladiátorok (40 pont)cpp17Elfogadva 40/40354ms8924 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ÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/03ms1812 KiB
2Elfogadva0/046ms3404 KiB
3Elfogadva2/23ms2276 KiB
4Elfogadva2/23ms2484 KiB
5Elfogadva2/28ms2708 KiB
6Elfogadva2/28ms2680 KiB
7Elfogadva2/28ms2936 KiB
8Elfogadva2/28ms3236 KiB
9Elfogadva2/213ms3276 KiB
10Elfogadva2/29ms3448 KiB
11Elfogadva2/245ms4040 KiB
12Elfogadva2/2165ms8064 KiB
13Elfogadva2/2201ms5724 KiB
14Elfogadva2/2354ms8188 KiB
15Elfogadva2/2250ms8144 KiB
16Elfogadva2/2340ms8144 KiB
17Elfogadva2/2344ms8144 KiB
18Elfogadva2/2204ms8408 KiB
19Elfogadva2/2330ms8352 KiB
20Elfogadva2/2312ms8612 KiB
21Elfogadva2/2217ms8924 KiB
22Elfogadva2/2259ms8880 KiB