Giải cứu bong bóng

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: BALLOON.INP
Output: BALLOON.OUT

Nguồn bài:
Tuyển tập đề thi HSG
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Nam cùng một nhóm bạn chơi trò chơi giải cứu bong bóng. Có n quả bong bóng, mỗi quả bóng được ghi số nguyên ai , 1 ≤ i ≤ n, là lượng khí mà bong bóng thứ i đang chứa. Khi tới giờ quy định, nếu có 2 quả bóng u, v mà au + av = S thì tất cả các bong bóng sẽ nổ. Biết rằng, trò chơi quy định các bạn chỉ được xả khí của mỗi cặp bong bóng có tổng bằng S. Để chạy đua với thời gian, nhóm của Linh Đan cần nhanh chóng trong thời gian ngắn nhất, khi tới giờ quy định, xả hết khí của một số cặp bong bóng, khi đó các bong bóng còn lại không tạo ra tổng S gây nổ. Thời gian xả khí mỗi cặp bong bóng u, v như vậy là một giây.

Yêu cầu: Hãy xác định thời gian tối thiểu cần thiết để có thể cứu tất cả các bong bóng.

Dữ liệu: Vào từ file văn bản BALLOON.INP gồm:

  • Dòng đầu tiên chứa hai số nguyên n và S (1 ≤ n ≤ 10^5 , 1 ≤ S ≤ 10^9 ).
  • Dòng thứ hai chứa n số nguyên a1 , a2 , ..., an (1 ≤ ai ≤ 10^9 , 1 ≤ i ≤ n).

Kết quả: Đưa ra file văn bản BALLOON.OUT một số nguyên duy nhất là thời gian tối thiểu cần thiết để cứu tất cả các bong bóng.

Ví dụ:

Input
7 7
4 3 4 8 4 3 4
Output
2

Ràng buộc:

  • Subtask 1 (50% số điểm): n ≤ 10^3
  • Subtask 2 (50% số điểm): n ≤ 10^5

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.