#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define pb push_back
vector<int> 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, mx_dist;
long long s;
cin >> n >> m >> q;
last_run = vector<int>(n + 1, -1);
day = 1;
mx_dist = 0;
for (i = 1; i <= m; i++) {
cin >> l >> r;
for (machine = l; machine <= r; machine++) {
if (last_run[machine] == -1) {
// it has never been ran
last_run[machine] = day;
day++;
continue;
}
past_days = day - last_run[machine] - 1;
mx_dist = max(mx_dist, past_days);
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 > mx_dist) {
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... |