Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Kiến trúc máy tính] Tổng popcount của dãy số

    Popcount (population count) đếm số bit 1 trong biểu diễn nhị phân của một số. Thuật toán Brian Kernighan dùng phép x & (x−1) để xóa bit 1 thấp nhất ở mỗi bước, chạy nhanh khi số bit 1 ít.

    Cho một dãy m số nguyên không âm, hãy tính tổng popcount của tất cả các số.

    Ví dụ

    Dãy 7 8: popcount(7) = 3 (111), popcount(8) = 1 (1000), tổng = 4.

    • Định dạng đầu vào:

      Dòng 1: số lượng phần tử m. Dòng 2: m số nguyên không âm cách nhau bởi dấu cách.

    • Ràng buộc đầu vào:

      1 ≤ m ≤ 10^5, mỗi số trong [0, 10^18].

    • Định dạng đầu ra:

      Một dòng: tổng popcount.

    Ví dụ:

    Đầu vào:

    2
    7 8
    

    Đầu ra:

    4

    Giải thích:

    popcount(7)=3 (111), popcount(8)=1 (1000); tổng = 4.

    Đang tải editor...