Nối Dây

Xem dạng PDF

Gửi bài giải

Điểm: 10,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 64M
Input: stdin
Output: stdout

Tác giả:
Dạng bài

Cho hai đường thẳng song song nằm ngang ~a~ và ~b~. Trên mỗi đường thẳng, người ta chọn lấy ~n~ điểm phân biệt, đánh số thứ tự từ trái sang phải và gán cho mỗi điểm một số nguyên dương là nhãn của điểm đó:

  • Trên đường thẳng ~a~, điểm thứ ~i~ được gán nhãn là ~a_i~.
  • Trên đường thẳng ~b~, điểm thứ ~j~ được gán nhãn là ~b_j~.

Để dễ hơn, người ta cho biết ở đây (~a_1, a_2, … , a_n~) và (~b_1, b_2, … , b_n~) được đánh nhãn là những hoán vị của dãy số (~1, 2, … , n~).

Yêu cầu

Hãy chỉ ra một số tối đa các đoạn thẳng thoả mãn:

  • Mỗi đoạn thẳng phải nối hai điểm có cùng một nhãn: một điểm trên đường thẳng ~a~ và một điểm trên đường thẳng ~b~.
  • Các đoạn thẳng đôi một không có điểm chung.

Dữ liệu

Dòng 1: Chứa số nguyên dương ~n~.
Dòng 2: Chứa ~n~ số nguyên ~a_1, a_2, … , a_n~.
Dòng 3: Chứa ~n~ số nguyên ~b_1, b_2, … , b_n~.

Kết quả

Dòng 1: Ghi số ~k~ là số đoạn thẳng nối được.
Dòng 2: Ghi ~k~ nhãn của các đoạn thẳng được chọn (nhãn của mỗi đoạn thẳng là nhãn của điểm đầu mút).

Giới hạn

\(n \leq ~10^5~)).

Input

6
2 3 1 5 6 4
3 2 5 6 1 4

Output

4
3 4 5 6

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.