Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
COMASIGN - Phân máy thực tập |
Trung tâm máy tính cần phân máy thực hành cho N lớp sinh viên (được đánh số từ 1 đến N). Lớp sinh viên i có Xi sinh viên. Trong trung tâm có M (M > N) phòng máy được đánh số từ 1 đến M. Phòng máy j có Yj máy. Để đảm bảo việc hướng dẫn thực hành, mỗi sinh viên cần có một máy, ngoài ra còn cần một máy cho giáo viên hướng dẫn. Không được phép di chuyển máy từ phòng máy này sang phòng máy khác.
Yêu cầu: Xác định số lượng lớn nhất các lớp sinh viên có thể đồng thời phân bố mỗi lớp vào một phòng máy và sao cho trong mỗi phòng máy mỗi sinh viên có một máy riêng để làm việc và ngoài ra còn một máy dành cho giáo viên hướng dẫn.
Dữ liệu vào:
- Dòng đầu tiên chứa hai số nguyên N,M (1 <= N <= M <= 20000);
- Dòng thứ hai chứa N số nguyên X1, ..., XN (1 <= Xi <= 21000, 1 <= i <= N);
- Dòng thứ ba chứa M số nguyên Y1, ..., YM (1 <= Yj <= 21000, 1 <= j <= <).
Dữ liệu ra:
- Dòng đầu tiên ghi P là số lượng lớn nhất lớp sinh viên tìm được;
- Dòng thứ hai ghi N số, trong đó số thứ cho biết chỉ số phòng máy phân cho lớp theo cách phân bố tìm được (ghi số 0 nếu lớp i không được phân phòng máy).
Example
Input: 3 4
5 3 4
3 5 3 6 Output: 2
0 2 4
Được gửi lên bởi: | noname00.pas |
Ngày: | 2017-12-18 |
Thời gian chạy: | 0.100s-1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | C-CLANG C CSHARP C++ 4.3.2 CPP CPP14 CPP14-CLANG C99 JAVA PAS-FPC PYTHON PYTHON3 |
Nguồn bài: | Bài tập Ôn HN 2016 (Thầy Nguyễn Đức Nghĩa) |