Submission #1279450

#TimeUsernameProblemLanguageResultExecution timeMemory
1279450hynmjInspections (NOI23_inspections)C++20
29 / 100
73 ms36044 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...