Mô tả
Cô Lan làm quản trị hệ thống cho một phòng net nhỏ ở nông thơn, nơi còn dùng những chiếc máy tính cũ chạy chip đời thấp. Dù đã cài hệ điều hành nhẹ, đôi lúc máy vẫn ì ạch bất thường. Cô nghi ngờ rằng nhiều cổng dịch vụ ngầm bị bật không cần thiết, làm CPU tăng đột biến.
Mỗi cổng dịch vụ được gắn một mã cấu hình là số nguyên dương. Khi mã được biểu diễn dưới dạng nhị phân, mỗi bit 1 tương ứng với một dịch vụ đang bật, còn bit 0 là tắt. Nhiệm vụ của bạn là tính tổng số bit 1 trên tất cả các mã cấu hình, cho biết tổng lượng dịch vụ đang bật — con số càng lớn, máy càng nặng.
Đầu vào
- Dòng đầu: số nguyên
n(1 ≤ n ≤ 1000) — số lượng mã cấu hình cần kiểm tra. - Dòng thứ hai:
nsố nguyên dươnga[0], a[1], ..., a[n-1], mỗi số cách nhau một khoảng trắng (1 ≤ a[i] ≤ 10^9).
Đầu ra
- In ra một số nguyên duy nhất: tổng số bit 1 trên tất cả các mã cấu hình.
Ràng buộc
- 1 ≤ n ≤ 1000
- 1 ≤ a[i] ≤ 10^9
- Tổng số bit 1 không vượt quá 30 × 1000 = 30000, nằm gọn trong kiểu số nguyên 32-bit.
Ví dụ
Ví dụ 1:
3 5 3 14
7
Giải thích từng bước:
5ở hệ nhị phân là101→ có 2 bit 1.3ở hệ nhị phân là11→ có 2 bit 1.14ở hệ nhị phân là1110→ có 3 bit 1.- Tổng: 2 + 2 + 3 = 7.
Ví dụ 2:
4 1 2 4 8
4
Giải thích: 1=1 (1 bit), 2=10 (1 bit), 4=100 (1 bit), 8=1000 (1 bit). Tổng: 4.
Ví dụ 3:
2 1023 1024
11
Giải thích: 1023 = 1111111111 (10 bit 1), 1024 = 10000000000 (1 bit 1). Tổng: 11.