#SGM0000072. Đếm trên cây (Count on a tree)

Đếm trên cây (Count on a tree)

Đếm trên cây (Count on a tree)

Nguồn: SPOJ

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho một cây NN đỉnh đánh số từ 11 đến NN, mỗi đỉnh có một trọng số nguyên. Mỗi truy vấn u,v,ku,v,k yêu cầu tìm trọng số nhỏ thứ kk trên đường đi đơn từ uu đến vv, tính cả hai đầu mút.

Dữ liệu vào

Dòng đầu chứa N,MN,M. Dòng thứ hai chứa NN trọng số. Tiếp theo là N−1N-1 cạnh của cây. Cuối cùng là MM dòng truy vấn u,v,ku,v,k.

Kết quả

Với mỗi truy vấn, in trọng số nhỏ thứ kk trên đường u−vu-v.

Subtask

Subtask 1 (20%)

  • n≤30n\le 30, số truy vấn ≤30\le 30.
  • Các điều kiện còn lại như Subtask 3.

Subtask 2 (30%)

  • n≤3000n\le 3000, số truy vấn ≤3000\le 3000.
  • Các điều kiện còn lại như Subtask 3.

Subtask 3 (50%)

  • 1≤N,M≤1051\le N,M\le10^5
  • các trọng số là số nguyên
  • 1≤u,v≤N1\le u,v\le N
  • 1≤k≤1\le k\le số đỉnh trên đường đi từ uu tới vv

Ví dụ

Input

8 5
105 2 9 3 8 5 7 7
1 2
1 3
1 4
3 5
3 6
3 7
4 8
2 5 1
2 5 2
2 5 3
2 5 4
7 8 2

Output

2
8
9
105
7

Giải thích

Đường từ đỉnh 2 đến 5 đi qua 2-1-3-5, có các trọng số [2,105,9,8]. Sau sắp xếp ta được [2,8,9,105], nên bốn truy vấn đầu lần lượt trả 2,8,9,105.