Submission #1327959

#TimeUsernameProblemLanguageResultExecution timeMemory
1327959dang_minh_ducInspections (NOI23_inspections)C++20
29 / 100
2129 ms1114112 KiB
#include <bits/stdc++.h>
#define int long long
#define endl '\n'
#define fi first
#define se second
#define unmap unordered_map
#define unset unordered_set
#define double long double
using namespace std;
const int dx[4]{-1, 0, 1, 0}, dy[4]{0, 1, 0, -1}; //0: Up  1: Right  2: Down  3: Left
template<class X, class Y>
    bool maximize(X &x, const Y &y) {
        if (x < y) {
            x = y;
            return true;
        }
        return false;
    }
template<class X, class Y>
    bool minimize(X &x, const Y &y) {
         if (x > y) {
            x = y;
            return true;
         }
         return false;
    }
template<class X, class Y>
    void setvaluable(X &x, const Y &y) {
        if (x==-1 || x > y) x = y;
    }

const int LimN=2e5+5;
int n, m, q;
int l[LimN], r[LimN], s[LimN];
int last[LimN];
vector<int>arr;
int days;
void sub1() {
    for (int i=1;i<=m;i++) {
        for (int j=l[i];j<=r[i];j++) {
            days++;
            if (!last[j]) last[j]=days;
            else {
                arr.push_back(days-last[j]-1);
                last[j]=days;
            }
        }
    }
    sort(arr.begin(), arr.end());
    for (int i=1;i<=q;i++) {
        int it=lower_bound(arr.begin(), arr.end(), s[i])-arr.begin();
        cout << arr.size()-it << " ";
    }
}
void sub2() {

}
bool fullone=true;
void solve()
{
    cin >> n >> m >> q;
    for (int i=1;i<=m;i++) {
        cin >> l[i] >> r[i];
        if (l[i]!=1) fullone=false;
    }
    for (int i=1;i<=q;i++) cin >> s[i];
//    if (max(n, m)<=2000) sub1();
//    if (fullone) sub2();
    sub1();
}
signed main() {
    ios_base::sync_with_stdio(false);cin.tie(0);
    int numtest=1; //cin >> numtest;
    while (numtest--) {solve();}
    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...