Professional Documents
Culture Documents
An lấy một mảnh giấy và viết ra các giá trị của hàm f (l, r) cho tất cả l, r. Bây giờ
anh ta muốn biết, cuối cùng anh ta có bao nhiêu giá trị riêng biệt.
Bạn hãy giúp An, đếm số lượng giá trị riêng biệt của hàm f (l, r) cho dãy a đã cho.
Biểu thức x | y có nghĩa là áp dụng hoạt động của bitwise OR cho các số x và y.
Dữ liệu vào: Vào từ file văn bản OR.INP
- Dòng đầu tiên chứa số nguyên n (1≤ n ≤ 105) – là số phần tử của dãy a.
- Dòng thứ hai chứa n số nguyên a1, a2, ..., an (0 ≤ ai ≤ 106) - các phần tử của dãy a.
Dữ liệu ra: Từ file văn bản OR.OUT
In một số nguyên duy nhất - số lượng giá trị riêng biệt của hàm f (l, r) cho dãy a đã
cho.
Ví dụ:
OR.INP OR.OUT
3 4
120
10 11
1 2 3 4 5 6 7 8 9 10
Giải thích:
Trong ví dụ đầu tiên, An sẽ có 6 số được viết trên giấy: f (1, 1) = 1, f (1, 2) = 3, f (1,
3) = 3, f (2, 2) = 2 , f (2, 3) = 2, f (3, 3) = 0. Có chính xác 4 số khác nhau trong số chúng:
0, 1, 2, 3.