#908. SHELVES - Tủ tài liệu

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: Trình chấm ngoài
Đưa lên bởi: Trùm CUỐI

Đề bài

Chi nhánh ngân hàng thành phố mua hai tủ chống cháy lưu thông tin của khách hàng. Mỗi tủ có một số lượng ngăn kéo khác nhau với mỗi ngăn có độ cao khác nhau. Tủ thứ nhất có m ngăn tính từ dưới lên có độ cao là a_1, a_2, \ldots, a_m , tủ thứ hai có n ngăn kéo, tính từ dưới lên có độ cao là b_1, b_2, \ldots, b_n .

Các tủ được đặt quay mặt vào nhau trong một hành lang hẹp, vì vậy không thể mở đồng thời các ngăn kéo đối diện nhau. Để tiện làm việc, các nhân viên muốn mở đồng thời càng nhiều ngăn kéo càng tốt và giữ chúng ở trạng thái mở cả ngày.

Yêu cầu: Cho m, n, a_i, b_j\ i=1÷m,\ j=1÷n\ (1 ≤ m, n ≤ 10^5, 1 ≤ a_i, b_j ≤ 10^9) . Hãy xác định số ngăn kéo nhiều nhất có thể mở đồng thời và chỉ ra các ngăn kéo có thể để mở.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên m n ;
  • Dòng thứ hai chứa m số nguyên a_1, a_2, \ldots, a_m ;
  • Dòng thứ ba chứa n số nguyên b_1, b_2, \ldots, b_n .

Kết quả:

  • Dòng thứ nhất đưa ra hai số nguyên k l – số ngăn kéo để mở được ở tủ thứ nhất và thứ 2 ;
  • Dòng thứ hai chứa k số nguyên: các ngăn kéo tủ thứ nhất có thể để mở;
  • Dòng thứ ba chứa l số nguyên: các ngăn kéo tủ thứ hai có thể để mở.

Ví dụ:

Dữ liệu:

5 5
1 2 3 4 5
6 4 3 2 1

Kết quả:

3 4
1 2 3
2 3 4 5

Giới hạn:

  • 50\% số điểm có m, n≤100 ;