[CSES 2217] Collecting Numbers II

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ớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Cho một mảng chứa mỗi số từ ~1 \dots n~ đúng một lần. Nhiệm vụ của bạn là thu thập các số từ ~1~ đến ~n~ theo thứ tự tăng dần.

Trong mỗi lượt, bạn đi qua mảng từ trái sang phải và thu thập càng nhiều số càng tốt.

Cho ~m~ thao tác đổi chỗ hai số trong mảng, nhiệm vụ của bạn là báo cáo số lượt sau mỗi thao tác.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên ~n~ và ~m~: kích thước mảng và số thao tác.

Dòng tiếp theo chứa ~n~ số nguyên ~x\_1,x\_2,\dots,x\_n~: các số trong mảng.

Cuối cùng, có ~m~ dòng mô tả các thao tác. Mỗi dòng chứa hai số nguyên ~a~ và ~b~: các số tại vị trí ~a~ và ~b~ được đổi chỗ cho nhau.

Kết quả

In ra ~m~ số nguyên: số lượt sau mỗi lần đổi chỗ.

Giới hạn

  • ~1 \le n, m \le 2 \cdot 10^5~
  • ~1 \le a,b \le n~

Ví dụ

Dữ liệu vào:

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

Kết quả:

2
3
4

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.