Submission #1009240

#TimeUsernameProblemLanguageResultExecution timeMemory
1009240lrancicSpecial graph (IZhO13_specialg)C++17
0 / 100
282 ms604 KiB
#include <iostream> #include <vector> #include <unordered_set> int path(std::vector<int> &vec) { int x, y, c = 0; std::cin >> x >> y; std::unordered_set<int> visited; while (x != y) { x = vec[x]; if (visited.find(x) != visited.end() || x == -1) return -1; visited.insert(x); c++; } return c; } int main() { std::ios_base::sync_with_stdio(false), std::cin.tie(nullptr), std::cout.tie(nullptr); int n; std::cin >> n; std::vector<int> vec(n+1); for (int i = 1; i <= n; i++) std::cin >> vec[i]; int m; std::cin >> m; bool ok = (n <= 2e3) && (m <= 2e4); for (int i = 0; i < m; i++) { int act; std::cin >> act; if (act == 1) { int x; std::cin >> x; vec[x] = -1; continue; } if (ok) std::cout << path(vec) << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...