#5412. Pipeline (Mã bài: PIPELINE)

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Bạn có một ổ cắm điện. Bạn có thể mua các bộ chia điện từ một cửa hàng. Cửa hàng bán các bộ chia có 2, 3, 4, \dots, k ổ cắm. Bạn cần cấp nguồn cho ít nhất n thiết bị. Mỗi bộ chia điện cũng cần một ổ cắm để hoạt động. Hãy tìm số lượng bộ chia tối thiểu bạn cần mua để có thể cấp nguồn cho tất cả n thiết bị. Nếu không thể, hãy báo cáo.

Dữ liệu: Một dòng duy nhất chứa hai số nguyên n k .

Kết quả: In ra số lượng bộ chia tối thiểu cần thiết. Nếu không thể cấp nguồn cho n thiết bị ngay cả khi sử dụng tất cả các loại bộ chia từ 2 đến k , hãy in ra -1.

Ví dụ:

Dữ liệu:

4 3

Kết quả:

2

Giải thích: Ta có 1 ổ cắm ban đầu. Ta cần cấp nguồn cho 4 thiết bị. Cửa hàng bán bộ chia 2 và 3 ổ cắm. Nếu mua 2 bộ chia: bộ chia 3 ổ cắm và bộ chia 2 ổ cắm.

  • Cắm bộ chia 3 ổ cắm vào ổ ban đầu, ta có 3 ổ cắm mới (tổng cộng).
  • Cắm bộ chia 2 ổ cắm vào 1 trong 3 ổ mới, ta có 2 ổ cắm mới và 2 ổ cắm còn lại từ bộ chia đầu tiên. Tổng cộng có 2+2 = 4 ổ cắm trống. Vậy cần tối thiểu 2 bộ chia.

Giới hạn:

  • 1 \le n, k \le 10^9