Bảy số AND
Xem dưới dạng PDF
Gửi bài giải
Điểm:
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Cho dãy \(A\) gồm \(N\) phần tử, mỗi phần tử có giá trị trong \([0, 2^m - 1]\).
Tý muốn đếm số lượng bộ \(7\) chỉ số \((i_1, i_2, \dots, i_7)\) (có thể trùng nhau) sao cho:
\(A_{i_1} \& A_{i_2} \& \dots \& A_{i_7} = 0\)
Trong đó \(\&\) là phép toán AND bit.
Định dạng đầu vào
- Dòng 1: hai số nguyên \(N, m\) (\(1 \le N \le 10^5, 1 \le m \le 15\)).
- Dòng 2: \(N\) số nguyên \(A_1, A_2, \dots, A_N\) (\(0 \le A_i < 2^m\)).
Định dạng đầu ra
- Một số nguyên duy nhất là số lượng bộ thỏa mãn, modulo \(10^9 + 7\).
Ví dụ
Input:
4 2
0 1 2 3
Output:
16384
Ràng buộc
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 10 | \(N \le 10\) |
| 2 | 20 | \(N \le 1000, m \le 10\) |
| 3 | 30 | \(m \le 12\) |
| 4 | 40 | Không có ràng buộc gì thêm |
Nhận xét