Tìm Số Thứ K Có Chữ Số Tăng Dần

Xem dưới dạng PDF

Gửi bài giải


Điểm: 100
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Tý cần giải bài toán sau:

Nam đang chơi trò xếp các số có chữ số tăng dần. Một số được gọi là tăng dần nếu các chữ số của nó từ trái sang phải tăng dần (không kể các chữ số \(0\) vô nghĩa ở đầu). Ví dụ: \(123\), \(48\), \(7\) là số tăng dần; \(122\), \(321\) không phải.

Cho \(L, R, K\), hãy tìm số thứ \(K\) trong đoạn \([L, R]\) khi sắp xếp các số tăng dần theo thứ tự từ bé đến lớn.

Định dạng đầu vào

  • Dòng đầu chứa số nguyên \(N\) và \(Q\) (\(N, Q \le 10^5\)).
  • \(N-1\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) mô tả một cạnh.

Định dạng đầu ra

  • In ra kết quả của từng truy vấn trên một dòng.

Ví dụ

Input:

5 3
1 2
1 3
2 4
2 5
2 3

Output:

3

Input

  • Một dòng duy nhất chứa ba số nguyên \(L, R, K\) (\(0 \le L \le R \le 10^{18}\), \(1 \le K \le 10^{18}\)).

Output

  • Số thứ \(K\) thỏa mãn, hoặc \(-1\) nếu có ít hơn \(K\) số thỏa mãn.

Ví dụ

Ví dụ 1
Input:
1 50 5
Output:
13

Giải thích: Các số tăng dần trong \([1, 50]\) là \(1,2,3,4,5,6,7,8,9,12,13,14,15,16,17,18,19,23,24,25,26,27,28,29,34,35,36,37,38,39,45,46,47,48,49\). Số thứ 5 là \(13\).

Ví dụ 2
Input:
100 200 100
Output:
-1

Subtask

Subtask \(L, R\) \(K\) Điểm
1 \(L, R \le 10^3\) \(K \le 10^3\) 20
2 \(L, R \le 10^6\) \(K \le 10^6\) 20
3 \(L, R \le 10^{12}\) \(K \le 10^{12}\) 30
4 \(L, R \le 10^{18}\) \(K \le 10^{18}\) 30

Nhận xét

Không có ý kiến tại thời điểm này.