trang chủ / bài tập / cramtime

Nhồi bài

Đề bài

Mô tả

Trước kỳ thi, Lesha có a giờ để học hôm nay và b giờ để học ngày mai. Có vô hạn tờ ghi chú được đánh số bằng các số nguyên dương; ghi chú số k mất đúng k giờ để đọc xong. Lesha có thể đọc các ghi chú theo thứ tự bất kỳ, nhưng không được bắt đầu một ghi chú trong ngày này rồi đọc tiếp sang ngày khác — mỗi ghi chú phải được đọc trọn vẹn trong một ngày duy nhất.

Trong ngày đầu, tổng thời gian đọc không vượt quá a giờ. Trong ngày thứ hai, tổng thời gian đọc không vượt quá b giờ. Tất cả các ghi chú được đọc phải khác nhau đôi một. Hãy tìm cách phân chia sao cho tổng số ghi chú đọc được là lớn nhất, đồng thời chỉ ra ghi chú nào đọc trong ngày nào.

Dữ liệu vào

Một dòng chứa hai số nguyên ab (0a,b109).

Dữ liệu ra

  • Dòng thứ nhất: một số nguyên n — số ghi chú đọc trong ngày đầu.
  • Dòng thứ hai: n số nguyên dương phân biệt p1,p2,,pn (1pi), tổng không vượt quá a.
  • Dòng thứ ba: một số nguyên m — số ghi chú đọc trong ngày thứ hai.
  • Dòng thứ tư: m số nguyên dương phân biệt q1,q2,,qm (1qi), tổng không vượt quá b.

Tất cả n+m giá trị pi,qj phải phân biệt đôi một. Cần đảm bảo n+m đạt giá trị lớn nhất có thể. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.

Ràng buộc

  • 0a,b109.

Ví dụ

Input Output Giải thích
3 3 1
3
2
2 1
Ngày đầu đọc ghi chú số 3 (3 giờ). Ngày sau đọc ghi chú 1 và 2 (1 + 2 = 3 giờ). Tổng 3 ghi chú, là tối đa.
9 12 2
6 3
4
5 4 2 1
Ngày đầu đọc 6 + 3 = 9 giờ. Ngày sau đọc 5 + 4 + 2 + 1 = 12 giờ. Tổng 6 ghi chú (dùng đủ 1..6). Đây là một trong nhiều đáp án hợp lệ.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 GO groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0