SHUFFLE


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 493M

Problem type

Cho hai bộ gen, mỗi bộ gen không được biểu diễn bởi một dãy các chữ cái A, T, G, X (hoặc C), mà nó được biểu diễn bởi một dãy số nguyên dương. Mỗi bộ gen trong hai bộ gen sẽ chứa N gen được đánh số từ 1 đến N được sắp xếp theo một thứ tự nào đó, tức là dãy số biểu diễn một bộ gen là một hoán vị của các số nguyên dương từ 1 đến N.

Đoạn gen i-j được gọi là đoạn gen giống nhau của hai bộ gen nếu tập hợp các gen từ vị trí i đến vị trí j của bộ gen thứ nhất bằng tập hợp các gen từ vị trí i đến vị trí j của bộ gen thứ hai. Các vị trí được đánh số từ 1 đến N.

Yêu cầu: Tách hai bộ gen thành các đoạn gen i-j giống nhau sao cho số đoạn gen tách được là nhiều nhất.

Dữ liệu:

  • Dòng đầu tiên chứa số nguyên dương N (1 ≤ N ≤ 10^5 ) là số lượng gen trong một bộ gen.

  • Hai dòng tiếp theo, mỗi dòng chứa N số nguyên dương là một hoán vị của các số nguyên dương từ 1 đến N biểu diễn một bộ gen.

Kết quả:

Một dòng duy nhất chứa các đoạn gen i-j giống nhau mà ta có thể tách ra được, các đoạn gen được sắp xếp theo thứ tự i tăng dần. Các đoạn gen cách nhau đúng một dấu cách.

Sample Input

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

Sample Output

1-3 4-7 8-8 9-10

Sample Input

5
2 1 4 5 3 
2 4 5 3 1

Sample Output

1-1 2-5

Comments

There are no comments at the moment.