Bắn tường
Xem PDFCó một vùng đất dạng hình chữ nhật và có thể xem là một lưới hai chiều có gồm \(N\) hàng và \(10^9\) cột. Các hàng được đánh dấu từ \(1\) tới \(N\) từ trên xuống dưới, các cột được đánh số từ \(1\) tới \(10^9\) từ trái sang phải. Giao của hàng \(i\) và cột \(j\) sẽ là ô \((i,j)\). Có \(N\) bức tường, bức tường thứ \(i\) gồm các ô liên tiếp từ \((i,L_i)\) tới \((i,R_i)\). Bạn có nhiệm vụ phải phá hủy tất cả các bức tường này. Để hoàn thành nhiệm vụ, bạn dự tính sử dụng một khẩu đại bác lớn, có thể bắn những viên đạn có kích cỡ \(D\). Với mỗi lần bắn đại bác, bạn có thể chọn cột \(j\) \((1 \leq j \leq 10^9-D+1)\), sau đó bắn viên đại bác quét sạch toàn bộ các cột từ \(j\) tới \(j+D-1\). Nếu như một bức tường nào đấy có ít nhất 1 ô bị bắn trúng, bức tường đó sẽ được xem là đã bị phá hủy. Hãy tìm cách phá hủy toàn bộ bức tường với số lần bắn ít nhất.
Input
- Dòng đầu tiên chứa số nguyên \(N\) và \(D\) \((1 \leq N \leq 2\times 10^5, 1 \leq D \leq 10^9)\) lần lượt là số hàng của bức tường và kích thước của viên đạn mà đại bác có thể bắn.
- \(N\) dòng tiếp theo, dòng thứ \(i\) gồm 2 số nguyên dương \(L_i, R_i\) \((1 \leq L_i \leq R_i \leq 10^9)\), cho biết bức tường thứ \(i\) gồm các ô từ \((i,L_i)\) tới \((i,R_i)\)
Output
- Một số nguyên duy nhất là số lần bắn ít nhất cần để phá hủy toàn bộ bức tường.
Example
Test 1
Input
3 3
1 2
4 7
5 9
Output
2
Note
Đầu tiên, bạn có thể chọn cột \(2\) và phá hủy tất cả các ô thuộc cột \(2\) tới \(4\). Khi đó, bức tường thứ \(1\) và thứ \(2\) sẽ bị phá hủy. Sau đó bạn chọn cột \(5\) để bắn và phá hủy bức tường còn lại.
Bình luận