Cứu lấy thiên nhiên

Đề bài

Mô tả

Bạn có n tấm vé với giá p1,p2,,pn (tất cả đều chia hết cho 100). Bạn được tự chọn thứ tự bán vé (tức là một hoán vị bất kì của các tấm vé).

Rạp tham gia hai chương trình môi trường, áp dụng theo thứ tự bán mà bạn chọn:

  • x% giá của vé thứ a, 2a, 3a, ... (tính theo thứ tự bán) được dùng cho chương trình năng lượng tái tạo.
  • y% giá của vé thứ b, 2b, 3b, ... (tính theo thứ tự bán) được dùng cho chương trình giảm thiểu ô nhiễm.

Nếu một vé đồng thời thuộc cả hai chương trình thì tổng cộng (x+y)% giá của vé đó được dùng cho hoạt động môi trường.

Hãy chọn thứ tự bán vé sao cho tổng đóng góp đạt ít nhất k với số vé phải bán ra là nhỏ nhất. Nếu dù bán hết n vé vẫn không đạt được k thì in ra 1.

Dữ liệu vào

Dòng đầu chứa số nguyên q (1q100) — số truy vấn. Mỗi truy vấn gồm 5 dòng:

  • Dòng 1: số nguyên n (1n2·105) — số vé.
  • Dòng 2: n số nguyên p1,p2,,pn (100pi109, pimod100=0) — giá các vé.
  • Dòng 3: hai số nguyên xa (1x100, 1an) — tham số chương trình thứ nhất.
  • Dòng 4: hai số nguyên yb (1y100, x+y100, 1bn) — tham số chương trình thứ hai.
  • Dòng 5: số nguyên k (1k1014) — mức đóng góp tối thiểu cần đạt.

Tổng n qua tất cả các truy vấn không vượt quá 2·105.

Dữ liệu ra

Với mỗi truy vấn, in ra số vé tối thiểu cần bán để tổng đóng góp đạt ít nhất k, hoặc 1 nếu không thể.

Ràng buộc

  • 1q100
  • 1n2·105, tổng n2·105
  • 100pi109, pi chia hết cho 100
  • 1x,y, x+y100
  • 1a,bn
  • 1k1014

Ví dụ

Input Output Giải thích
4
1
100
50 1
49 1
100
8
100 200 100 200 100 200 100 100
10 2
15 3
107
3
1000000000 1000000000 1000000000
50 1
50 1
3000000000
5
200 100 100 100 100
69 5
31 2
90
-1
6
3
4
Truy vấn 1: tổng đóng góp tối đa 50+49=99<100, không thể. Truy vấn 2: sắp lại thành [100, 100, 200, 200, 100, 200, 100, 100], 6 vé đầu cho tổng 110107. Truy vấn 3: cả vé đều đóng góp 100%. Truy vấn 4: sắp [100, 200, 100, 100, 100], 4 vé đầu cho 200·0.31+100·0.31=9390.
3
5
5000 1000 2000 3400 4300
1 1
99 2
50
5
5000 1000 2000 3400 4300
1 1
99 2
51
10
100 100 100 100 100 100 100 100 100 100
50 10
50 10
100
1
2
10
Truy vấn 1: bán vé giá 5000 đầu tiên cho đóng góp 50. Truy vấn 2: cần 51, một vé chưa đủ, hai vé là đủ. Truy vấn 3: chỉ vị trí 10 mới được tính, phải bán cả 10 vé.

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 1.26.3 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