Lịch trình xem phim

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: 1900 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Hôm nay là ngày nghỉ, Hân muốn xem vài bộ phim anime để giải trí sau một tuần học căng thẳng. Hân rất thích xem anime, do đó cậu ấy muốn xem phim liên tục trong \(L\) phút. Hân có \(N\) bộ phim muốn xem, mỗi bộ có một thời lượng nhất định và có các buổi chiếu trong ngày. Hân có thể vào xem và thoát ra một bộ phim bất cứ lúc nào trong suốt quá trình một buổi chiếu của bộ phim. Tuy nhiên, Hân không muốn vào xem cùng một bộ phim 2 lần, và Hân không thể chuyển sang một buổi chiếu khác của cùng một phim mà bị chồng lên buổi chiếu hiện tại của phim đó.

Hân muốn biết rằng liệu cậu ấy có thể xem phim liên tục từ thời điểm \(0\) xuyên suốt đến thời điểm \(L\) hay không. Nếu được, Hân muốn biết số lượng phim ít nhất mà cậu ấy cần xem để đạt được mục tiêu (vì cậu ấy không thích xem phim bị ngắt quãng). Vì đang chìm đắm trong thế giới anime, Hân không thể tự tính toán được. Bạn hãy giúp Hân giải quyết bài toán này nhé.

INPUT

  • Dòng đầu tiên gồm 2 số nguyên dương \(N, L\) (\(1 \leq N \leq 20\), \(1 \leq L \leq 10^8\))
  • \(N\) dòng tiếp theo, mỗi dòng mô tả bộ phim thứ \(i\). Mỗi dòng bắt đầu bởi số nguyên \(D\) là thời lượng của bộ phim (\(1 \leq D \leq L\)), và số nguyên \(C\) là số lượng buổi chiếu của phim (\(1 \leq C \leq 1000\)). \(C\) số tiếp theo mô tả thời điểm bắt đầu của mỗi buổi chiếu (\(0 \leq C \leq L\)). Các thời điểm của mỗi buổi chiếu là phân biệt, và theo thứ tự tăng dần.

OUTPUT

Gồm 1 số nguyên là số lượng bộ phim ngắn nhất mà Hân cần coi để đạt được mục tiêu. Nếu không thể xem liên tục \(L\) phút, in ra \(-1\).

VÍ DỤ:

INPUT:

4 100
20 1 0
30 2 20 90
40 2 0 65
50 3 15 30 55

OUTPUT:

3

Bình luận

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

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

Kỳ thi: