Phức tạp hóa vấn đề

View as PDF

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

Please read the guidelines before commenting.


There are no comments at the moment.