VM 08 Bài 04 - Xóa số

View as PDF

Submit solution


Points: 0.24 (partial)
Time limit: 0.75s
Memory limit: 256M
Input: stdin
Output: stdout

Problem source:
VNOI Marathon '08 - Round 5/DivBProblem Setter: Ngô Minh Ðức
Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Xét dãy số: số thứ ~i~ được tạo bởi việc ghép ~i~ số nguyên tố đầu tiên lại.

2, 23, 235, 2357, 235711,...

Gọi ~A(n)~ là số thứ ~n~ của dãy.

Tìm cách xóa ~k~ chữ số ra khỏi số ~A(n)~ sao cho số còn lại thu được là lớn nhất có thể.

Input

~n~ và ~k~, với ~1 \le n \le 50,000~ và ~k~ không quá số chữ số của ~n~.

Output

Gồm 1 dòng duy nhất là kết quả.

Sample Input

5 4

Sample Output

71

Comments

Please read the guidelines before commenting.



  • 2
    conghieupt2555  commented on May 24, 2026, 4:45 p.m.

    ý tưởng làm:

    • vì lý do a(n) có thể rất dài nên ta phải xử lí trên string
    • dùng sàng nguyên tố để sinh số lượng số nguyên tố nhanh
    • đoạn số nt mà < 50,000 là 2 <= x <= ~ 700000
    • sài to_string để nhanh tiến độ
    • dùng stack greedy để lấy k số còn lại(sau cùng phải check k có lớn hơn 0 không , có thì tiếp tục xóa)

  • -16
    c3gr_phamvoduytan  commented on Oct. 21, 2022, 8:09 a.m. edited

    This comment is hidden due to too much negative feedback. Show it anyway.


  • -20
    c3gr_phamvoduytan  commented on Oct. 21, 2022, 8:04 a.m. edited

    This comment is hidden due to too much negative feedback. Show it anyway.