답안 #745824

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
745824 2023-05-21T08:23:22 Z vjudge1 Event Hopping (BOI22_events) C++17
0 / 100
177 ms 3464 KB
#include <bits/stdc++.h>

// #define MULTI_TEST_CASE
// #define TEST_TEXT

using namespace std;

#define ll long long
#define MAX(a, b) (a) = max((a), (b))
#define MIN(a, b) (a) = min((a), (b))
#define all(a) (a).begin(), (a).end()
#define sortedpair(a, b) {min((a), (b)), max((a), (b))}

const ll MOD = 1e9+7;

struct event{
    int start, end, ind;
    event(){}
    bool operator<(const event&o){
        return start < o.start;
    }
};

int n, q;
vector<event> v;
vector<int> p;

void solve(){
    cin>>n>>q;
    v.resize(n);
    for(int i = 0; i < n; i++){
        cin>>v[i].start>>v[i].end;
        v[i].ind = i;
    }
    sort(all(v));
    vector<int> hol(n);
    for(int i = 0; i < n; i++){
        hol[v[i].ind] = i;
    }
    vector<int> megszakit;
    for(int i = 0; i < n-1; i++){
        if(v[i].end < v[i+1].start){
            megszakit.push_back(i);
        }
    }
    megszakit.push_back(1e9);
    while(q--){
        int a, b; cin>>a>>b; a--; b--;
        if(hol[b] < hol[a]){
            cout<<"impossible"<<endl;
            continue;
        }
        if(*lower_bound(megszakit.begin(), megszakit.end(), hol[a]) < hol[b]){
            cout<<"impossible"<<endl;
            continue;
        }
        cout<<hol[b]-hol[a]<<endl;
    }
}

int main(){
    ios_base::sync_with_stdio(0); cin.tie(0);
    int _t = 1;
#ifdef MULTI_TEST_CASE
    cin >> _t;
#endif
    for(int _i = 0; _i < _t; _i++){
        #ifdef TEST_TEXT
        cout<<"Case #"<<_i+1<<": ";
        #endif
        solve();
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 166 ms 2376 KB Output is correct
2 Correct 177 ms 2480 KB Output is correct
3 Correct 155 ms 2392 KB Output is correct
4 Correct 174 ms 3464 KB Output is correct
5 Correct 156 ms 2832 KB Output is correct
6 Incorrect 164 ms 2768 KB Output isn't correct
7 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -