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 |