제출 #1120951

#제출 시각아이디문제언어결과실행 시간메모리
1120951vjudge1Event Hopping (BOI22_events)C++17
10 / 100
1575 ms57164 KiB
#include <bits/stdc++.h> #define ll long long #define all(x) x.begin(), x.end() #define in insert #define F first #define S second #define ppf pop_front #define pb push_back #define ppb pop_back #define pf push_front #define pii pair <int, int> #define pll pair <ll, ll> #define boost() ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define sz(x) (int)x.size() #define int ll using namespace std; const int N = 1e5+123; const ll mod = 1e9+7; vector<int> g[N]; void solve() { int n,q; cin >> n >> q; int s[n+1] , e[n+1]; for(int i=1 ; i <= n ; i++){ cin >> s[i] >> e[i]; } //sort(a+1 , a+1+n); for(int i=1; i <= n ; i++){ for(int j=1 ; j <= n ; j++){ if(i == j) continue; if(s[j] <= e[i] && e[i] <= e[j]){ g[i].pb(j); } } } while(q--){ int x,y; cin >> x >> y; vector<int> dis(n+1 , mod); queue<int> qu; dis[x]=0; qu.push(x); while(!qu.empty()){ int v=qu.front(); qu.pop(); for(int to : g[v]){ if(dis[to] == mod){ dis[to]=dis[v]+1; qu.push(to); } } } if(dis[y] == mod){ cout << "impossible\n"; } else cout << dis[y] << endl; } } signed main() { boost(); int tt=1; //cin >> tt; while (tt--) { 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...
#Verdict Execution timeMemoryGrader output
Fetching results...