Mảng K
Xem PDFATM vừa bắt đầu nghiên cứu các thuộc tính của mảng. Do đó, ông định nghĩa mảng \(K\) là bất kỳ mảng \(A\) nào gồm các số nguyên dương sao cho tất cả các dãy con liên tiếp có độ dài \(K\) của \(A\) có thể được phân chia thành hai tập không giao nhau mà tổng các phần tử của hai tập là bằng nhau.
Ví dụ: \(1, 2, 1, 3\) là một mảng \(3\), vì dãy con \(1, 2, 1\) có thể được phân chia thành \(\{1, 1\}\) và \(\{2\}\) mà cả hai đều có tổng là \(2\); và dãy con \(2, 1, 3\) có thể được phân chia thành \(\{2, 1\}\) và \(\{3\}\) mà cả hai đều có tổng là \(3\). Tuy nhiên đây không phải là mảng \(2\), vì \(1, 2\) không thể được phân chia thành hai tập có tổng bằng nhau. Tương tự như vậy, đây cũng không phải là một mảng \(4\).
Bạn được cung cấp \(T\) mảng các số nguyên dương. Đối với mỗi mảng \(A\), ATM muốn biết tất cả các giá trị của \(K\) (\(1 \le K \le N\)) mà \(A\) là một mảng \(K\).
Input
- Dòng đầu tiên chứa số nguyên \(T\) (\(1 \le T \le 20\)) là số lượng bộ dữ liệu.
- Mỗi bộ dữ liệu gồm hai dòng:
- Dòng đầu chứa số nguyên \(N\) là độ dài của dãy (\(1 \le N \le 1000\)).
- Dòng thứ hai chứa \(N\) số nguyên dương \(A_i\) (\(1 \le A_i \le 10^5, \sum_{i=1}^{N} A_i \le 10^5\)).
Output
- Với mỗi bộ dữ liệu, in ra trên một dòng: số lượng \(d\) các giá trị \(K\) thỏa mãn, theo sau là \(d\) số nguyên là các giá trị \(K\) đó theo thứ tự tăng dần.
Constraints
- \(1 \le T \le 20\)
- \(1 \le N \le 1000\)
- \(1 \le A_i \le 10^5\)
- \(\sum_{i=1}^{N} A_i \le 10^5\)
Example
Test 1
Input
2
7
7 3 5 1 3 3 5
6
1 2 3 5 8 3
Output
2 4 6
2 3 6
Bình luận