diff --git "a/khj20006/202502/18 BOJ G4 \352\264\200\354\225\205\354\202\260 \353\223\261\354\202\260.md" "b/khj20006/202502/18 BOJ G4 \352\264\200\354\225\205\354\202\260 \353\223\261\354\202\260.md" new file mode 100644 index 00000000..3ba8171d --- /dev/null +++ "b/khj20006/202502/18 BOJ G4 \352\264\200\354\225\205\354\202\260 \353\223\261\354\202\260.md" @@ -0,0 +1,34 @@ +```cpp + +#include +#include +#include +using namespace std; + +int main(){ + cin.tie(0)->sync_with_stdio(0); + + int D[5001]{}, H[5001]{}; + vector> V(5001); + pair A[5001]{}; + + int N, M; + cin>>N>>M; + for(int i=1;i<=N;i++) cin>>H[i], A[i] = {H[i], i}; + sort(A+1, A+N+1, greater<>()); + + for(int a,b;M--;){ + cin>>a>>b; + if(H[a] < H[b]) swap(a,b); + V[a].push_back(b); + } + + for(int i=1;i<=N;i++) { + for(int j:V[A[i].second]) D[j] = max(D[j], D[A[i].second] + 1); + } + + for(int i=1;i<=N;i++) cout<