DHBB 2023 - CVABD - 10 - Trò chơi nhị phân

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

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

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Trò chơi trên truyền hình đòi hỏi người chơi phải có khả năng quan sát, ghi nhớ và tính toán tốt.

Trên bàn có các quân bài. Mỗi quân bài ghi một số nguyên bằng ~2^k~ hoặc ~-2^k~, với ~k=0,1,2,\ldots,30~. Số quân bài mang cùng một giá trị luôn đủ nhiều.

Người chơi được xem trong một khoảng thời gian ngắn dãy số nguyên ~a_1,a_2,\ldots,a_n~, sau đó tự chọn cho mình một số lượng tùy ý các quân bài thuộc mỗi giá trị.

Trò chơi gồm ~n~ bước. Ở bước thứ ~i~, số ~a_i~ xuất hiện trên màn hình. Người chơi phải chọn một nhóm quân bài trong số các quân bài mình đang có sao cho tổng các giá trị trên chúng bằng ~a_i~, rồi đặt chúng lên bàn. Nếu ~a_i=0~ thì có thể không đặt quân bài nào.

Người không thể chọn được một nhóm quân bài có tổng bằng ~a_i~ sẽ bị loại. Những người còn lại thu hồi các quân bài đã đặt và tiếp tục bước tiếp theo.

Sau ~n~ bước, những người còn lại có số lượng quân bài ít nhất sẽ chiến thắng.

Yêu cầu: Hãy xác định các quân bài cần chọn để bảo đảm bạn là người chiến thắng.

Input

  • Dòng đầu tiên chứa số nguyên ~n~ ~(1 \le n \le 10^6)~;

  • Dòng thứ hai chứa ~n~ số nguyên ~a_1,a_2,\ldots,a_n~ ~(|a_i|\le 10^6)~.

Output

  • Dòng đầu tiên chứa số nguyên ~k~, là số quân bài cần chọn;

  • Dòng thứ hai chứa ~k~ số nguyên, là giá trị của các quân bài được chọn.

Scoring

Subtask Điểm Ràng buộc
1 ~30\%~ ~n \le 10^2~
2 ~30\%~ ~n \le 10^4~
3 ~40\%~ ~n \le 10^6~

Sample Input 1

4
2 -2 14 18

Sample Output 1

3
2 -2 16

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.