COPRIME - Thao tác trên tập S

View as PDF

Submit solution


Points: 100.00
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Tập ~S~ gồm các số nguyên dương. Ban đầu tập ~S~ rỗng. Cho ~q~ thao tác thuộc một trong hai loại:

  • Loại 1: Thêm số nguyên dương ~x~ vào tập ~S~
  • Loại 2: Xoá số nguyên dương ~x~ khỏi tập ~S~ (nếu tập ~S~ chứa nhiều số có giá trị bằng ~x~ thì chỉ xóa một số)

Sau mỗi thao tác, in ra số cặp số nguyên tố cùng nhau thuộc tập ~S~.

Dữ liệu

  • Dòng đầu tiên gồm số thao tác ~q~ ~(1≤q≤10^5)~.
  • ~q~ dòng tiếp theo, mỗi dòng gồm hai số nguyên dương ~t~ và ~x~ lần lượt là loại thao tác và số nguyên dương ~x~ cần thêm vào hoặc xoá khỏi tập ~S~ ~(1 ≤ t ≤ 2,1 ≤ x ≤ 10^6)~.
  • Dữ liệu đảm bảo với mỗi thao tác loại 2 luôn tồn tại số nguyên dương ~x~ trong tập ~S~.

Kết quả

  • Gồm ~q~ dòng, dòng thứ ~i~ là số cặp số nguyên tố cùng nhau thuộc tập ~S~ sau thao tác thứ ~i~.

Ví dụ

Sample Input 1
3 
1 1
1 2
1 3
Sample Output 1
0 
1
3
Sample Input 2
5
1 2
1 5
1 3
1 10
2 3
Sample Output 2
0 
1
3
4
1

Chấm điểm

  • Subtask 1 (30% số test): ~q ≤ 10^3~
  • Subtask 2 (70% số test): Không có ràng buộc gì thêm

Nguồn: Free Contest 124


Comments

Please read the guidelines before commenting.


There are no comments at the moment.