JOBSHOP - Công việc
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 5.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: admin

Cho công việc, một số công việc chỉ được thực hiện khi một số công việc khác đã được thực hiện xong. Khi thực hiện, một công việc phải làm trong một ngày, mỗi ngày không được làm quá công việc.

Yêu cầu: Tính số ngày ít nhất để thực hiện xong công việc

Input

- Dòng đầu chứa 2 số n, m;
- dòng sau, dòng thứ có dạng:

- Số đầu tiên của dòng là klà số công việc phải thực hiện trước ngày công việc được thực hiện;
- tiếp theo là số ki là chỉ số các công việc phải được thực hiện trước công việc i.

Output

- Gồm một số duy nhất là số ngày ít nhất để thực hiện hết công việc, nếu không có phương án nào thực hiện được hết công việc thì ghi -1. 

Ví dụ

Input

3 2
2 2 3
0

Output

2

Giới hạn:

Subtask1: n<=m<=100;
Subtask2: m<=n<=15;


Nguồn: 3D '1819

Back to Top