Bốn số AND
Xem dưới dạng PDF
Gửi bài giải
Điểm:
100
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Trong một phòng thí nghiệm có \(N\) mẫu vật, mỗi mẫu có mã gen \(A[i]\) (\(0 \le A[i] < 2^K\)). Các nhà khoa học muốn chọn bốn mẫu để tạo ra một tổ hợp đặc biệt, sao cho các gen chung của cả bốn (AND) đúng bằng một giá trị \(X\) cho trước.
Hãy đếm số bộ bốn \((i,j,k,l)\) phân biệt (\(i<j<k < l\)) thỏa mãn \(A[i] \& A[j] \& A[k] \& A[l] = X\).
Đầu vào:
- Dòng 1: \(N, K\) (\(N \le 10^5, K \le 15\))
- Dòng 2: \(N\) số nguyên \(A[1..N]\)
- Dòng 3: số \(X\) (\(0 \le X < 2^K\))
Đầu ra:
- Số bộ bốn thỏa mãn AND đúng bằng \(X\).
#
Định dạng đầu vào
- Dòng 1: Hai số nguyên \(N\) và K (\(1 \le N \le 10^5, 1 \le K \le 20\)).
- Dòng 2: \(N\) số nguyên \(a_1, a_2, \dots, a_N\) (\(0 \le a_i < 2^K\)).
Định dạng đầu ra
- In ra số lượng bộ bốn chỉ số \((i, j, k, l)\) (\(1 \le i < j < k < l \le N\)) sao cho \(a_i \text{ AND } a_j \text{ AND } a_k \text{ AND } a_l = 0\).
Ví dụ
Input:
5 3
1 2 4 6 7
Output:
5
Giải thích: Tất cả các bộ 4 số chọn từ mảng đều có AND bằng 0.
Ràng buộc & Subtasks
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 30% | \(N \le 100\) |
| 2 | 70% | \(N \le 10^5, K \le 20\) |
Nhận xét