#include <bits/stdc++.h>
#define int long long
using namespace std;
const long long N = 3e3 + 5;
int a[1500 * N];
int l[N];
int r[N];
int last[N];
void solve()
{
int n, m, q;
cin >> n >> m >> q;
int j = 1;
for (int i = 0; i < m; i++)
{
cin >> l[i] >> r[i];
// cout << l[i] << " " << r[i] << endl;
for (int k = l[i]; k <= r[i]; k++, j++)
{
a[j] = k;
}
}
vector<int> distances;
for (int i = 0; i < j; i++)
{
// cout << a[i] << " ";
if (last[a[i]] != 0)
{
distances.push_back(i - last[a[i]] - 1);
}
last[a[i]] = i;
}
// cout << endl;
sort(distances.begin(), distances.end());
// for (auto i : distances)
// {
// cout << i << " ";
// }
// cout << endl;
int e;
for (int i = 0; i < q; i++)
{
cin >> e;
// lower_bound()
cout << distances.size() - (upper_bound(distances.begin(), distances.end(), e - 1) - distances.begin()) << " ";
}
}
signed main()
{
ios_base::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
int t = 1;
// cin >> t;
for (int i = 1; i <= t; i++)
{
// cout << "Case #" << i << ':' << ' ';
solve();
cout << endl;
}
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... |