Bài kiểm tra số 3 - K2048G1 - đề 1

Trò Chơi "Biến Hình Con Số" (hsg)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 3

Axe và Lina đang chơi một trò chơi giải mã mật thư. Trong trò chơi này, "sức mạnh" của một con số được tính bằng cách: Lấy giai thừa của từng chữ số trong con số đó, rồi nhân tất cả lại với nhau. (Ví dụ: Sức mạnh của số 135 sẽ là: 1! * 3! * 5! = 720). Hiện tại, Axe và Lina đang có trong tay một con số A rất lớn. Nhiệm vụ của bạn là giúp họ "biến hình" số A này thành một con số X mới thỏa mãn đúng 3 luật chơi sau:

  1. Bảo toàn sức mạnh: Số X phải có tổng sức mạnh bằng y hệt số A ban đầu.

  2. Loại bỏ kẻ yếu: Số X tuyệt đối không được chứa chữ số 0 hoặc 1.

  3. Mục tiêu tối thượng: Trong số các con số thỏa mãn 2 điều kiện trên, số X bạn tìm ra phải là con số LỚN NHẤT.

Dữ liệu vào (Input):

• Một dòng duy nhất chứa số A (Độ dài của số A có thể lên tới 1000 chữ số, và có thể bắt đầu bằng chữ số 0). Đảm bảo số A luôn có ít nhất một chữ số lớn hơn 1.

Dữ liệu ra (Output): * In ra con số X lớn nhất tìm được.

Ví dụ:

Input:
1234
Output:
33222

(Giải thích: Số 1234 có sức mạnh là 1! * 2! * 3! * 4! = 288. Con số 33222 không chứa số 0, 1 và cũng có sức mạnh là 3! * 3! * 2! * 2! * 2! = 288. Đây là con số lớn nhất có thể tạo ra).


Dãy con liên tiếp dài nhất có tổng chia hết cho K

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 4

Cho mảng A có N phần tử và số nguyên dương K, hãy tìm dãy con liên tiếp dài nhất có tổng các phần tử chia kết cho K. In ra số lượng phần tử của dãy con liên tiếp dài nhất nếu tồn tại hoặc in ra -1 nếu không có dãy con nào chia hết cho K


Ràng buộc: ~1 \leq K \leq N \leq 10^6~; ~-10^6 \leq A[i] \leq 10^6~


Input:
12 2
-4 1 4 -1 4 4 -3 4 2 -4 2 4
Output:
10

Cặp số (tham lam)

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 3

Ta gọi một cặp số (x, y) là tương tự nhau nếu chúng có cùng tính chất chẵn lẻ hoặc có abs(x - y) = 1. Bạn được cung cặp một mảng A[] có N phần tử, hãy kiểm tra xem có thể chia N phần tử này thành các cặp, sao cho mỗi cặp số đều tương tự nhau.


Đầu vào: Dòng đầu tiên chứa số nguyên dương N là số chẵn. Dòng 2 chứa N số nguyên của mảng A[]


Ràng buộc: 1 <= N <= 100; 1 <= A[i] <= 1000


Đầu ra: In ra YES nếu có thể chia thành các cặp tương tự, ngược lại in ra NO


Input:
6
78 17 17 42 11 43
Output:
YES