#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define pb push_back
vector<int> machine_run_list, last_run, dist;
signed main () {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n, m, q, i, task, machine, past_days, day, l, r;
long long s;
cin >> n >> m >> q;
for (i = 1; i <= m; i++) {
cin >> l >> r;
for (machine = l; machine <= r; machine++) {
machine_run_list.push_back(machine);
}
}
last_run = vector<int>(n + 1, -1);
day = 1;
for (auto machine : machine_run_list) {
if (last_run[machine] == -1) {
// it has never been ran
last_run[machine] = day;
day++;
continue;
}
past_days = day - last_run[machine] - 1;
dist.push_back(past_days);
last_run[machine] = day;
day++;
}
sort(dist.begin(), dist.end());
for (i = 1; i <= q; i++) {
cin >> s;
if (s > machine_run_list.size()) {
cout << "0 ";
continue;
}
auto it = lower_bound(dist.begin(), dist.end(), s);
while (it < dist.end() && !(*it >= s)) {
it++;
}
if (it >= dist.end()) {
cout << "0 ";
continue;
}
cout << dist.size() - (it - dist.begin()) << " ";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |