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

Dán Giấy Tường

Đề bài

Mô tả

Boris muốn dán giấy tường cho căn hộ mới mua. Căn hộ có n phòng, mỗi phòng có dạng hình hộp chữ nhật với chiều dài, chiều rộng và chiều cao đã biết.

m loại giấy tường để chọn. Mỗi cuộn giấy tường có chiều dài, chiều rộng và giá bán xác định. Giấy có các sọc dọc theo chiều dài cuộn nên khi dán bắt buộc phải đặt sọc thẳng đứng (không được xoay ngang cuộn giấy, kể cả khi chiều dài nhỏ hơn chiều rộng). Một cuộn có thể được cắt thành nhiều miếng, nhưng các đường ghép cũng phải thẳng đứng.

Mỗi phòng chỉ được dán bằng một loại giấy duy nhất, và các miếng cắt từ cùng một cuộn không được dùng chung cho hai phòng khác nhau, nghĩa là mỗi phòng phải mua các cuộn riêng. Cho phép sử dụng không hết một cuộn.

Hãy tính chi phí tối thiểu để dán giấy tường cho toàn bộ căn hộ.

Dữ liệu vào

  • Dòng đầu chứa số nguyên dương n: số phòng.
  • n dòng tiếp theo, mỗi dòng chứa ba số nguyên dương: chiều dài, chiều rộng và chiều cao của một phòng (mét).
  • Dòng tiếp theo chứa số nguyên dương m: số loại giấy tường.
  • m dòng cuối, mỗi dòng chứa ba số nguyên dương: chiều dài cuộn, chiều rộng cuộn và giá một cuộn.

Dữ liệu ra

Một số nguyên duy nhất: tổng chi phí nhỏ nhất.

Ràng buộc

  • 1n,m500
  • Mọi số trong dữ liệu vào đều dương và không vượt quá 500.
  • Dữ liệu đảm bảo luôn tồn tại cách dán cho mọi phòng.

Ví dụ

Input Output Giải thích
1
5 5 3
3
10 1 100
15 2 320
3 19 500
640 Chu vi phòng là 20 m. Loại 2: mỗi cuộn dài 15 cắt được 5 sọc cao 3, mỗi sọc rộng 2 m → cần 10 sọc, tức 2 cuộn, chi phí 640.
1
9 10 7
1
7 1 3
114 Chu vi 38 m, mỗi cuộn dài 7 cắt được 1 sọc cao 7, sọc rộng 1 → cần 38 cuộn, chi phí 114.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0