Submission #857680

#TimeUsernameProblemLanguageResultExecution timeMemory
857680vgtcrossEvent Hopping (BOI22_events)C++17
10 / 100
1588 ms3156 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int, int>; void solve() { int n, q; cin >> n >> q; vector<pii> v(n); for (pii &p : v) cin >> p.first >> p.second; while (q--) { int a, b; cin >> a >> b; --a;--b; queue<pii> bfs; bfs.push({a, 0}); int ans = -1; vector<bool> vis(n, 0); vis[a] = 1; while (bfs.size()) { pii p = bfs.front(); bfs.pop(); if (p.first == b) { ans = p.second; break; } for (int i = 0; i < n; ++i) if (!vis[i] && v[i].first <= v[p.first].second && v[p.first].second <= v[i].second) { vis[i] = 1; bfs.push({i, p.second+1}); } } cout << (ans == -1 ? "impossible" : to_string(ans)) << '\n'; } } int main() { cin.tie(0) -> sync_with_stdio(0); solve(); }
#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...