제출 #1253103

#제출 시각아이디문제언어결과실행 시간메모리
1253103kkzyr장애물 (IOI25_obstacles)C++20
10 / 100
74 ms7496 KiB
#include <iostream> #include <vector> using namespace std; int parent[1000000]; int find(int x){ if (parent[x] == -1){ return x; } int ans = find(parent[x]); parent[x] = ans; return ans; } void merge(int x, int y){ int component1 = find(x), component2 = find(y); if (component1 != component2){ parent[component1] = component2; } } void initialize(std::vector<int> T, std::vector<int> H){ for (int i = 0;i < H.size();i++){ parent[i] = -1; } for (int i = 0;i < H.size();i++){ if (T[0] > H[i]){ if (i >= 1 and T[0] > H[i - 1]){ merge(i, i - 1); } if (i < (H.size() - 1) and T[0] > H[i + 1]){ merge(i, i + 1); } } } } bool can_reach(int L, int R, int S, int D){ if (find(S) == find(D)){ return true; } return false; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...