Giao lưu THT 2024 lần 3 - Bài B Bảng A

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho hai số nguyên \(n\)\(k\). Hãy tìm số lượng số được tách từ \(n\) sao cho các số được tách từ \(n\) chia hết cho \(k\) và số lượng số tách được là lớn nhất (các số khi tách phải liên tiếp với nhau).

Ví dụ \(n = 12345\)\(k = 3\) có những cách tách là {12; 3; 45} hoặc {12; 345} trong khi cách tách số không thỏa mãn là {1245; 3}.

Yêu cầu: In ra số lượng số lớn nhất tìm được.

Input

  • Dòng đầu tiên gồm một số nguyên dương \(n\) (\(n \le 10^{1000}\)).
  • Dòng thứ hai gồm một số nguyên dương \(k\) (\(k \le 9\)).

Output

  • In ra kết quả của bài toán, nếu không có kết quả thỏa mãn in ra \(0\).

Example

Test 1

Input
12345
3
Output
3
Note

Test ví dụ này đã được nêu ở đề bài.

Test 2

Input
433
2
Output
0
Note

Không có cách thỏa mãn.

Test 3

Input
2222
2
Output
4
Note

Có một cách tạo ra bốn số là {2; 2; 2; 2}.

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(k = 1\).
  • Subtask \(2\) (\(30\%\) số điểm): \(k\) là ước nguyên tố của \(10\).
  • Subtask \(3\) (\(20\%\) số điểm): \(n \le 10^8\).
  • Subtask \(4\) (\(20\%\) số điểm): Không có giới hạn gì thêm.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.