TRUY VẤN TRÊN TẬP HỢP

Chỉ được dụng Python để giải bài toán này

Cho số nguyên dương ~n~ và hai tập hợp ~A, B~. Tập hợp ~A~ gồm các số nguyên từ ~1~ đến ~n~, tập hợp ~B~ gồm các số nguyên từ ~n+1~ đến ~2n~. Tập hợp ~C~ bao gồm các giá trị ~a+b~ trong đó ~a~ thuộc tập ~A~ và ~b~ thuộc tập ~B~. Lưu ý trong ~C~ có thể có các phần tử giống nhau.

Ví dụ với ~n=3 ~ thì ~A={1,2,3}~ và ~B={4,5,6};~ tập ~C={5,6,6,7,7,7,8,8,9}~.

Bạn được cho ~m~ câu hỏi trên tập ~C~, mỗi câu hỏi có dạng: Có bao nhiêu số ~q~ trong tập ~C~.

Dữ liệu vào:

  • Dòng đầu tiên ghi số nguyên dương ~n,m~ ~(1≤m≤10^5)~
  • ~m~ dòng tiếp theo mỗi dòng ghi một số nguyên ~q~ ~(1≤q≤3*n)~

Kết quả: Mỗi số ~q~ theo thứ tự vào trong Input, hãy cho biết trong tập ~C~ có bao nhiêu số ~q~.

Ví dụ:

Input

4 3
4
6
10 

Output

0
1
3 

Ràng buộc:

  • Có 80% số test có ~1≤n≤1000~
  • Có 10% số test khác có ~1≤n≤10^5~
  • Có 10% số test còn lại có ~1≤n≤10^9~

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. hoanglong8563 (5/5)
  2. nguyenhoangquan (4/4)
  3. nsduc83 (3/5)
Trong 7 ngày
  1. bao_khanh (32/35)
  2. nguyenlebaolong (25/39)
  3. manhooh (24/55)
Trong 30 ngày
  1. manhooh (100/231)
  2. ducdung192 (97/132)
  3. nguyenlebaolong (67/105)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38464

Lưu Hải Phong - 2020
[email protected]