Mật mã của người ngoài hành tinh
Xem dạng PDF
Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python, Rust
Bài 3. Mật mã của người ngoài hành tinh
Sau nhiều năm nghiên cứu về người ngoài hành tinh, người ta thu được một thông tin mã hóa gồm ~n~ đoạn mã. Sau khi phân tích, người ta xác định đoạn mã thứ ~i~ có giá trị ~a_i~.
Một mật mã gồm các đoạn mã liên tiếp sao cho giá trị của mỗi đoạn mã không vượt quá giá trị mẫu ~x~ cho trước, đồng thời số lượng đoạn mã là lớn nhất.
Có ~m~ chuyên gia, chuyên gia thứ ~j~ cần tìm một mật mã với giá trị mẫu ~x_j~. Hãy xác định độ dài mật mã tương ứng với từng chuyên gia.
Dữ liệu vào
Dữ liệu được đọc từ tệp văn bản BAI3.INP theo cấu trúc:
- Dòng đầu gồm hai số nguyên ~n~ và ~m~.
- Dòng thứ hai gồm ~n~ số nguyên ~a_1, a_2, ..., a_n~ cách nhau bởi dấu cách.
- ~m~ dòng tiếp theo, mỗi dòng gồm một số nguyên ~x_j~.
Dữ liệu ra
Kết quả được ghi vào tệp văn bản BAI3.OUT, gồm ~m~ dòng. Mỗi dòng ghi một số nguyên là độ dài của mật mã tương ứng với giá trị mẫu của chuyên gia đó. Nếu không tìm được mật mã nào thì ghi 0.
Ví dụ
BAI3.INP |
BAI3.OUT |
|---|---|
5 40 -1 2 4 6-3215 |
0324 |
Giải thích:
- Với ~x = -3~, không có đoạn mã nào thỏa mãn nên kết quả là
0. - Với ~x = 2~, mật mã dài nhất là
0 -1 2, có độ dài3. - Với ~x = 1~, mật mã dài nhất là
0 -1, có độ dài2. - Với ~x = 5~, mật mã dài nhất là
0 -1 2 4, có độ dài4.
Giới hạn
- ~n, m ≤ 10^5~.
- Với mọi ~1 ≤ i ≤ n~, ~|a_i| ≤ 10^9~.
- Với mọi ~1 ≤ j ≤ m~, ~|x_j| ≤ 10^9~.
- Subtask 1: ~n, m ≤ 10^3~.
- Subtask 2: ~n, m ≤ 10^5~.
Đang tải...