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