Chia hai tập p mũ k
Đề bài
Mô tả
Cho số có dạng (cùng cơ số ). Bạn cần chia số này thành hai tập hợp rời nhau (mỗi số thuộc đúng một tập, và hợp của hai tập bằng toàn bộ dãy) sao cho chênh lệch tuyệt đối giữa tổng hai tập là nhỏ nhất.
Gọi giá trị chênh lệch nhỏ nhất là . Hãy in ra .
Lưu ý. Bạn phải tối thiểu hoá trước, rồi mới lấy phần dư. Ví dụ nếu nhưng có một cách chia khác cho chênh lệch thì đáp án vẫn là , không phải .
Dữ liệu vào
Dòng đầu chứa số nguyên — số bộ test.
Với mỗi bộ test:
- Dòng thứ nhất chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên .
Dữ liệu ra
Với mỗi bộ test, in ra một số nguyên trên một dòng — chênh lệch nhỏ nhất modulo .
Ràng buộc
- Tổng trên tất cả các bộ test không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 5 2 2 3 4 4 3 3 1 2 10 1000 4 5 0 1 1 100 1 8 89 |
4 1 146981438 747093407 |
Test 1: các số là . Chia thành và , chênh lệch . Test 2: nên mọi số đều bằng . Với số , chênh lệch tối thiểu là . Test 3: các số là . Đáp án mod . Test 4: chỉ có một số , không chia được — chênh lệch chính là . |
| 1 1 2 88 |
140130951 | Chỉ có trong một tập, tập kia rỗng. Đáp án là . |
Bình luận