Điểm:
200 (p)
Thời gian:
1.0s
Bộ nhớ:
640M
Input:
bàn phím
Output:
màn hình
Vào một buổi sáng, rất tình cờ Nam nhìn thấy một số nguyên dương \(N\) trên đường từ nhà đến trường. Vì Nam rất thích số \(30\) nên Nam muốn biến đổi số \(N\) thành số \(M\) có dạng là số lớn nhất và là bội của số \(30\) bằng cách thay đổi vị trí của các chữ số trong số \(N\) mà Nam nhìn thấy.
Bạn hãy hỗ trợ Nam bằng cách viết chương trình để tìm số \(M\) (nếu nó tồn tại).
Input
- Gồm một dòng duy nhất chứa số nguyên \(N\) (\(N\) có tối đa là \(10^5\) chữ số).
Output
- In ra số \(M\) tìm được. Nếu không tồn tại \(M\) thì in ra \(-1\).
Example
Test 1
Input
30
Output
30
Test 2
Input
102
Output
210
Test 3
Input
3333333333333333333333333333
Output
-1
Bình luận
ko hiểu gì cả
python:
n=list(input())
n.sort(reverse=True)
kq=""
for i in n:
kq+=i
if int(kq)%30==0:
print(kq)
else:
print(-1)
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.
for char c : s là sao vậy bạn
Spoiler Alert
Hint 1
Hint 2
Hint 3
Hint 4
Reference AC code | \(O(log_{10}n\) \(\times\) \(log_2(log_{10}n))\) time | \(O(n)\) auxiliary space | Sorting, String
Another Approach
Reference AC code | \(O(n)\) time | \(O(n)\) auxiliary space |