Số siêu tình cảm
Xem PDF
Điểm:
1200 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Vào 1 ngày đẹp trời, đang đói bụng nên rủ cô bạn thân đi ăn đồ nướng. liền ra điều kiện: Nếu giải được bài này thì sẽ bao ăn, ngược lại thì phải bao , lập tức đồng ý. Bài toán như sau: Tìm được tất cả số siêu tình cảm trong đoạn \(n\) số.
Một số gọi là số siêu tình cảm nếu nó thoả mãn 2 điều kiện sau đây:
- Số đó phải chia hết cho đúng 3 số nguyên tố và tổng chữ số của số đó phải chia hết cho 2.
- Bình phương của số đó phải chia hết cho 3,5 và 7.
Tuy nhiên, vì là một cô gái thích số \(1\) nên cô ấy ra thêm 1 điều kiện là: Các số siêu tình cảm được chuyển sang dạng nhị phân.
- Nếu trong dạng nhị phân, số lượng số \(1\) nhiều hơn số \(0\) thì độ đẹp của số siêu tình cảm được tăng lên 1 đơn vị. Nếu tổng độ đẹp của các số siêu tình cảm lớn hơn hoặc bằng một nửa số lượng số siêu tình cảm trong dãy thì in ra
YES, ngược lại in raNO.
Các bạn coders hãy giúp chinh phục được bài toán của nhé!
Yêu cầu:
- Hãy tìm số lượng số siêu tình cảm trong đoạn và in ra tất cả số đó.
Input
- Dòng thứ nhất gồm 1 số nguyên dương \(n\) (\(1 \le n \le 10^6\))
- Dòng thứ hai gồm \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^{18}\))
Output
- Dòng thứ nhất in ra 1 số là số lượng số siêu tình cảm trong đoạn.
- Dòng thứ hai ghi tất cả các số siêu tình cảm trong đoạn, mỗi số cách nhau bởi khoảng trống.
- Nếu tổng độ đẹp của các số siêu tình cảm lớn hơn hoặc bằng một nửa số lượng số siêu tình cảm trong dãy thì dòng thứ ba in ra
YES, ngược lại in raNO. - Nếu trong đoạn không có số siêu tình cảm thì in ra
-1.
Example
Test 1
Input
4
123 105 575 945
Output
2
105 945
YES
Note
- Số \(123\):
Chỉ chia hết cho 2 số nguyên tố là 2 và 41 (loại) - Số \(575\):
Chỉ chia hết cho 2 số nguyên tố là 5 và 23 (loại) - Số \(105\):
Chia hết cho 3 số nguyên tố là 3, 5 và 7
Tổng chữ số: \(1 + 0 + 5 = 6 \vdots 2\)
Vì nó chia hết cho 3, 5 và 7 nên bình phương của nó chắc chắn chia hết cho 3, 5 và 7. - Số \(945\):
Chia hết cho 3 số nguyên tố là 3, 5 và 7
Tổng chữ số: \(9 + 4 + 5 = 18 \vdots 2\)
Vì nó chia hết cho 3, 5 và 7 nên bình phương của nó chắc chắn chia hết cho 3, 5 và 7.
Như vậy ta có 2 số siêu tình cảm là \(105\) và \(945\).
Số \(105\) chuyển sang dạng nhị phân là \(1101001\), số lượng số \(1\) là \(4 > 3\) số lượng số \(0\).
Số \(945\) chuyển sang dạng nhị phân là \(1110110001\), số lượng số \(1\) là \(6 > 4\) số lượng số \(0\).
Vì có 2/2 số thoả điều kiện nên in ra "YES"
Test 2
Input
5
424 239 212 574 918
Output
-1
Note
- Vì tất cả đều không phải là số siêu tình cảm nên in ra -1.
Scoring
- Subtask 1 (30% số điểm): \(1 \le n \le 10^3\), \(1 \le a_i \le 10^6\)
- Subtask 2 (30% số điểm): \(10^3 \le n \le 10^6\), \(10^6 \le a_i \le 10^{12}\)
- Subtask 3 (40% số điểm): Không có ràng buộc nào thêm
Bình luận