trang chủ / đề bài / voi26_gift

Quà Noel

Đề bài

Mô tả

Ông già Noel đã chuẩn bị N loại quà, loại quà thứ i (1≤i≤N) có Si món và khối lượng mỗi món là Wi gram. Ông dự định đóng gói các túi quà để phát cho trẻ em ở VOI sao cho mỗi túi có đúng K món và không có hai món nào cùng một loại quà. Tuy nhiên, xe tuần lộc của ông chỉ có thể mang được không quá M gram quà.

Để chuẩn bị chu đáo trước khi lên đường, ông già Noel đưa ra một loạt Q câu hỏi cho trợ lý của ông tính toán, mỗi câu hỏi thuộc một trong hai loại sau:

  • Loại 1: Cho biết 3 giá trị M,K,T, hãy kiểm tra xem có thể tạo ra được T túi quà mà tổng khối lượng các món quà trong cả T túi đó không vượt quá M gram hay không?
  • Loại 2: Cho biết 2 giá trị M,K, hỏi có thể tạo ra được nhiều nhất bao nhiêu túi quà mà tổng khối lượng các món quà trong tất cả các túi đó không vượt quá M gram?

Yêu cầu: Hãy giúp trợ lý trả lời từng câu hỏi của ông già Noel.

Dữ liệu vào

  • Dòng đầu chứa 2 số nguyên N,Q (1≤N,Q≤105).
  • Dòng thứ hai chứa N số nguyên dương W1,W2,…,WN có giá trị không quá 105.
  • Dòng thứ ba chứa N số nguyên dương S1,S2,…,SN có giá trị không quá 105.
  • Mỗi dòng trong số Q dòng tiếp theo thể hiện một câu hỏi thuộc một trong hai loại:
    • Loại 1: 1 M K T (1≤M,K,T≤109).
    • Loại 2: 2 M K (1≤M,K≤109).

Các số trên cùng một dòng cách nhau bởi dấu cách.

Dữ liệu ra

Gồm Q dòng, mỗi dòng thể hiện câu trả lời cho một câu hỏi tương ứng:

  • Loại 1: In ra 1 nếu có thể tạo được T túi quà, trái lại in ra 0.
  • Loại 2: In ra một số nguyên là số lượng túi quà nhiều nhất tạo được.

Ràng buộc

  • 1≤N,Q≤105.
  • 1≤Wi,Si≤105.
  • 1≤M,K,T≤109.

Subtasks

  • Subtask 1 (25% số điểm): Si=1.
  • Subtask 2 (20% số điểm): N,Q≤1000 và chỉ có câu hỏi loại 1.
  • Subtask 3 (15% số điểm): N,Q≤1000.
  • Subtask 4 (20% số điểm): Chỉ có câu hỏi loại 1.
  • Subtask 5 (20% số điểm): Không có ràng buộc nào thêm.

Ví dụ

Input Output Giải thích
5 3
8 3 4 10 8
5 8 2 9 10
1 19 3 2
2 19 3
2 9 1
0
1
3
Câu hỏi 1: không có cách nào chọn được hai túi, mỗi túi có 3 món mà tổng khối lượng không quá 19 gram. Câu hỏi 2: tạo ra được nhiều nhất một túi quà, chẳng hạn túi gồm một món loại 2, một món loại 3 và một món loại 4, tổng khối lượng 17 gram. Câu hỏi 3: tạo ra được nhiều nhất ba túi quà, mỗi túi gồm đúng một món quà loại 2.
3 3
1 2 3
3 1 2
2 10 2
1 5 2 2
2 100 1
2
0
6
Ví dụ bổ sung (không có trong đề gốc). Câu hỏi 1: hai túi {1,2} và {1,3} nặng tổng cộng 7 gram; ba túi cần dùng cả 6 món, nặng 11 gram. Câu hỏi 2: hai túi nhẹ nhất nặng 7>5 gram. Câu hỏi 3: mỗi túi một món, dùng hết 6 món, nặng 11 gram.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0