trang chủ / bài tập / hometask

Bài tập về nhà

Đề bài

Mô tả

Cho một tập hợp gồm n chữ số. Bạn cần tạo ra số nguyên lớn nhất từ các chữ số trong tập sao cho số đó chia hết cho cả 2, 35 (tương đương chia hết cho 30).

Bạn được phép sử dụng không nhất thiết tất cả các chữ số trong tập, nhưng mỗi chữ số chỉ được dùng số lần đúng bằng số lần nó xuất hiện trong tập. Số tạo ra không được có chữ số 0 ở đầu, ngoại lệ duy nhất là khi số đó chính là 0 (gồm đúng một chữ số 0).

Nếu không thể tạo được số nào thỏa mãn, hãy in 1.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số chữ số trong tập.
  • Dòng thứ hai chứa n chữ số (mỗi chữ số nằm trong khoảng 0..9), cách nhau bởi dấu cách.

Dữ liệu ra

  • In ra số lớn nhất thỏa mãn yêu cầu, hoặc 1 nếu không tồn tại.

Ràng buộc

  • 1n105
  • Mỗi giá trị trong tập là một chữ số từ 0 đến 9.

Ví dụ

Input Output Giải thích
1
0
0 Chỉ có một chữ số 0, và bản thân 0 chia hết cho 30.
11
3 4 5 4 5 3 5 3 4 4 0
5554443330 Tổng các chữ số bằng 40; ta có thể dùng tất cả các chữ số. Sắp xếp giảm dần được 5554443330, chia hết cho 30.
8
3 2 5 1 5 2 2 3
-1 Không có chữ số 0 nào nên không thể tạo số chia hết cho 10, do đó vô nghiệm.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0