Submit solution
Points:
0.10
Time limit:
1.0s
Memory limit:
128M
Input:
stdin
Output:
stdout
Authors:
Problem type
Bạn được cho một mảng gồm ~n~ phần tử phân biệt và có ~q~ truy vấn. Mỗi truy vấn bao gồm hai số nguyên, ~val~ và ~x~.
- Nếu ~x~ chưa tồn tại trong mảng, nhiệm vụ của bạn là chèn giá trị ~x~ vào ngay sau giá trị ~val~ trong mảng, với điều kiện ~x~ chưa tồn tại trong mảng.
- Nếu ~x~ đã tồn tại, bạn cần loại bỏ ~x~ khỏi vị trí cũ và sau đó chèn ~x~ vào ngay sau giá trị ~val~.
- Nếu ~val~ không tồn tại trong mảng thì chèn ~x~ vào đầu của mảng.
Input
- Dòng đầu tiên gồm hai số nguyên ~n, q~ ~(1 \le n,q \le 10^{5})~ và - đại diện cho số lượng phần tử trong mảng ban đầu và số lượng truy vấn trong mảng.
- Dòng thứ hai gồm ~n~ số nguyên ~a_i~ ~(1 \le a_i \le 10^{18})~ - đại diện cho giá trị của phần tử thứ ~i~ trong mảng và các phần tử là phân biệt.
- ~q~ dòng tiếp theo chứa hai số nguyên ~x~, ~val~ ~(1 \le x,val \le 10^{18})~ - đại diện cho giá trị cần được chèn vào và giá trị cần chèn phía sau.
Output
- Dòng đầu tiên là kích thước của mảng sau khi đã được xử lí.
- Dòng thứ hai là các phần tử trong mảng.
Sample Input 1
5 3
2 1 4 7 10
1 3
3 4
3 7
Sample Output 1
6
1 2 4 7 3 10
Subtask | Ràng buộc | Điểm |
---|---|---|
1 | ~n,q \le 100~ và ~a_i \le 10^6~ | 30% |
2 | ~n,q \le 10^{4}~ và ~a_i \le 10^6~ | 30% |
3 | Không có ràng buộc gì thêm | 40% |
Comments