Biến đổi dãy số

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài

Cho dãy số nguyên dương ~A = (a_1,a_2,\dots,a_n)~. Ta được phép thực hiện nhiều lần phép biến đổi:

  • Chọn hai chỉ số nguyên ~i, j~ với ~1 \le i, j \le n~
  • Gán ~a_i = \max(a_i, a_j)~

Cho thêm dãy ~B = (b_1,b_2,\dots,b_n)~. Hãy xác định có thể biến đổi ~A~ để trở thành đúng ~B~ hay không.

Nếu có thể, cần đưa ra ít nhất số phép biến đổi và in ra các cặp ~i, j~ theo đúng thứ tự thực hiện.

Yêu cầu

  • Nếu không thể biến đổi ~A~ thành ~B~, in NO.
  • Nếu có thể:

    • In YES
    • Dòng tiếp theo in số nguyên ~m~ là số phép biến đổi ít nhất
    • Sau đó in ~m~ dòng, mỗi dòng chứa ~i~ và ~j~ mô tả một phép biến đổi.

Dữ liệu

  • Dòng 1: số nguyên ~n~ (~1 \le n \le 10^5~)
  • Dòng 2: ~n~ số nguyên ~a_1,a_2,\dots,a_n~ (~1 \le a_i \le 10^9~)
  • Dòng 3: ~n~ số nguyên ~b_1,b_2,\dots,b_n~ (~1 \le b_i \le 10^9~)

Kết quả

Theo đúng định dạng ở phần yêu cầu.

Ví dụ

Ví dụ 1

Input

5
1 1 1 3 4
3 3 3 4 4

Output

YES
4
1 4
2 4
3 4
4 5

Giải thích

Ví dụ 1
  • Dùng ~a_4=3~ để nâng ~a_1,a_2,a_3~ lên ~3~
  • Dùng ~a_5=4~ để nâng ~a_4~ lên ~4~ Sau 4 phép biến đổi nhận được đúng ~B~ và đây là số phép ít nhất vì có đúng 4 vị trí ban đầu có ~a_i < b_i~.

Ràng buộc và chấm điểm

Ràng buộc
  • ~1 \le n \le 10^5~
  • ~1 \le a_i, b_i \le 10^9~

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.