VOI 13 Bài 6 - Sản xuất đồ chơi

View as PDF

Submit solution

Points: 0.96 (partial)
Time limit: 3.0s
Memory limit: 512M
Input: stdin
Output: stdout

Problem source:
VOI 2013 - Ngày 2
Problem type
Allowed languages
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Xưởng sản xuất đồ chơi XYZ đã mua các lô hàng ống đàn để làm nguyên liệu sản xuất đàn ống. Mỗi lô gồm ~n~ (~n > 2~) ống đàn với độ cao đôi một khác nhau lần lượt là ~h_{1}~, ~h_{2}~, ..., ~h_{n}~ để khi nhạc công gõ vào các ống đàn với độ cao khác nhau, ống sẽ phát ra các âm thanh khác nhau. Ống đàn thứ ~i~ có trọng lượng là ~h_{i} \times m~ (~1 \leq i \leq n~). Quy trình sản xuất đàn của hãng thực hiện theo dây chuyền tự đông hoàn toàn như sau: Bắt đầu, robot ~A~ sẽ tự động mở một lô và xếp lần lượt ~n~ ống có độ cao ~h_{1}~, ~h_{2}~, ..., ~h_{n}~ lên dây chuyền. Tiếp theo, các ống sẽ được robot ~B~ phân thành ~s~ (~1 < s \leq n~) lô con. Lô con thứ nhất gồm các ống từ ~1~ đến ~k_{1}~, lô con thứ hai gồm các ống từ ~k_{1}~ + ~1~ đến ~k_{2}~, ..., lô con thứ ~s~ gồm các ống từ ~k_{s-1}~ + ~1~ đến ~n~ (~1 \leq k_{1} < k_{2} <~ ...~< k_{s-1} < n~). Mỗi một lô con sẽ được chuyển cho robot ~C~ để lắp thành một chiếc đàn. Robot ~C~ sẽ tiến hành sắp xếp các ống thành một dãy đảm bảo điều kiện có không quá ~w~ vị trí ống đứng trước cao hơn ống đứng liền kề sau nó (nếu có). Có thể có nhiều phương án sắp xếp các ống đàn trong một lô con thỏa mãn điều kiện này. Mỗi một phương án như vậy sẽ được gọi là một loại đàn. Sau khi khảo sát thị hiếu người tiêu dùng, Ban giám đốc nhận thấy: trọng lượng hợp lý của một chiếc đàn (được tính bởi tổng trọng lượng của các ống đàn) là một số không nhỏ hơn ~b_{min}~ và không lớn hơn ~b_{max}~; ngoài ra, không có hai khách hàng nào lại muốn dùng đàn giống nhau. Dễ thấy, số lượng loại đàn khác nhau có thể tạo ra phụ thuộc vào việc ~n~ ống thành ~s~ lô con. Do đó, Ban giám đốc muốn lựa chọn cách phân ~n~ ống thành ~s~ lô con sao cho tổng trọng lượng các ống trong mỗi lô con đều nằm trong đoạn từ ~b_{min}~ đến ~b_{max}~ và số lượng các loại đàn ống khác nhau có thể sản xuất được là nhiều nhất. Hãy tìm cách phân ~n~ ống thành ~s~ lô con thỏa mãn các điều kiện đặt ra và sao cho số lượng loại đàn ống khác nhau có thể sản xuất được là nhiều nhất.

Input

Dòng đầu tiên chứa ~T~ (~T \le 10~) là số lượng bộ dữ liệu. Tiếp đến là ~T~ nhóm dòng, mỗi nhóm dòng cho thông tin về một bộ dữ liệu theo khuôn dạng sau:

  • Dòng thứ nhất chứa sáu số nguyên dương ~n~, ~s~, ~w~, ~m~, ~b_{min}~, ~b_{max}~.
  • Dòng thứ hai gồm ~n~ số nguyên dương ~h_{1}~, ~h_{2}~, ..., ~h_{n}~ mô tả độ cao của ~n~ ống.

Giới hạn: ~m < 100~; ~b_{min}~, ~b_{max} < 10^{9}~; ~h_{i} < 10^{6}~. Dữ liệu bảo đảm bài toán có lời giải.

Output

Gồm T dòng, mỗi dòng chứa một số nguyên là số lượng các loại đàn khác nhau tìm được tương ứng với bộ dữ liệu vào.

Giới hạn

  • Có 30% số test ứng với 30% số điểm của bài có ~n \leq 10~.
  • Có 30% số test ứng với 30% số điểm của bài có ~10 < n \leq 30~.
  • Có 40% số test ứng với 40% số điểm của bài có ~30 < n \leq 200~.

Sample Input

1
5 2 2 1 9 12
4 6 2 3 7

Sample Output

8

Note

Với ~n = 5~; ~s = 2~; ~w = 2~; ~m = 1~; ~b_{min} = 9~; ~b_{max} = 12~ và dãy các ống có độ cao là ~4~, ~6~, ~2~, ~3~, ~7~ có ~2~ cách phân ~5~ ống thành ~2~ lô con:

Cách phân lô thứ nhất: Lô con ~1~ gồm các ống với các trọng lượng tương ứng là ~4~, ~6~, ~2~. Lô con ~2~ gồm các ống với các trọng lượng tương ứng là ~3~, ~7~.

Lô con thứ nhất có thể sản xuất các loại đàn:

  • Số lượng loại đàn không có vị trí nào mà ống đứng trước cao hơn ống đứng liền kề sau nó là ~1~ (2-4-6);
  • Số lượng loại đàn có đúng ~1~ vị trí mà ống đứng trước cao hơn ống đứng liền kề sau nó là ~4~ (2-6-4, 4-2-6, 4-6-2, 6-2-4);
  • Số lượng loại đàn có đúng ~2~ vị trí mà ống đứng trước cao hơn ống liền kề sau nó là ~1~ (6-4-2);

Do đó, từ các ống trong lô con thứ nhất có thể sản xuất ~6~ loại đàn.

Từ các ống trong lô con thứ hai có thể sản xuất thêm ~2~ loại đàn mới (3-7, 7-3).

Vậy, theo các phân lô thứ nhất có thể sản xuất ~8~ loại đàn.

Cách phân lô thứ hai: Lô con ~1~ gồm các ống với các trọng lượng tương ứng là ~4~, ~6~. Lô con ~2~ gồm các ống với các trọng lượng tương ứng là ~2~, ~3~, ~7~. Tính tương tự như trên, cách phân lô này cho phép sản xuất ~8~ loại đàn.

Vậy đáp số cần tìm là ~8~.


Comments

Please read the guidelines before commenting.


There are no comments at the moment.