Problem ID:
countbit1
Points:
1 (partial)
Time limit:
1.0s
Memory limit:
512M
Input:
stdin
Output:
stdout
Author:
Problem type
Khi đến lớp, Tèo được thầy giáo dạy về cách chuyển đổi số thập phân sang hệ nhị phân. Thầy giáo đã giao Tèo một bài tập về nhà rất thú vị:
Cho một dãy gồm ~n~ số nguyên dương, mỗi số nguyên dương có giá trị ~a_i~. Hãy tìm số nguyên dương trong dãy có biểu diễn dạng nhị phân chứa nhiều bit 1 nhất.
Hãy viết chương trình giúp Tèo giải quyết bài tập này nhé !
Lưu ý: Nếu có nhiều số có cùng số lượng bit 1 thì in ra số lớn nhất.
Dữ liệu
- Dòng đầu tiên chứa số nguyên dương ~n~ ~(1 \le n \le 10^6)~.
- Dòng thứ hai chứa dãy ~n~ số nguyên dương ~a_1, a_2, ..., a_n~ ~(1 \le a_i \le 10^9)~.
Kết quả
Một số nguyên dương duy nhất là kết quả của bài toán.
Ràng buộc
- Subtask ~1~ ~(60\%)~: ~n \le 10^4, a_i \le 10^4~
- Subtask ~2~ ~(40\%)~: Không có ràng buộc gì thêm.
Ví dụ
Dữ liệu
3
9 7 16
Kết quả
7
Giải thích
- ~9~ có biểu diễn nhị phân là ~1001~ ~\Rightarrow~ Có ~2~ bit ~1~.
- ~7~ có biểu diễn nhị phân là ~111~ ~\Rightarrow~ Có ~3~ bit ~1~.
- ~16~ có biểu diễn nhị phân là ~10000~ ~\Rightarrow~ Có ~1~ bit ~1~.
Vậy số có biểu diễn nhị phân chứa nhiều bit ~1~ nhất là số ~7~.
Comments