Nhà hàng của Maxim

Đề bài

Mô tả

Maxim vừa mở một nhà hàng với một chiếc bàn dài duy nhất có độ dài p mét.

Tối nay có n vị khách đến dự tiệc, đánh số từ 1 đến n. Vị khách thứ i chiếm ai mét chỗ ngồi trên bàn.

Trước giờ ăn, các vị khách xếp thành một hàng theo một thứ tự nào đó. Maxim lần lượt mời từng người vào theo thứ tự trong hàng. Khi đến lượt một vị khách mà tổng độ dài của những người đã ngồi trong nhà hàng cộng với độ dài của vị khách đó vượt quá p, thì vị khách này không còn chỗ. Để không làm mất lòng người đó, Maxim ngừng mời hoàn toàn: không một vị khách nào phía sau được vào nữa, kể cả khi họ vẫn còn vừa chỗ.

Hãy tính số khách trung bình được vào nhà hàng, lấy trung bình trên tất cả n! thứ tự xếp hàng có thể (mọi thứ tự đều có xác suất như nhau).

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số vị khách.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an là độ dài chỗ ngồi của từng vị khách.
  • Dòng thứ ba chứa số nguyên p là độ dài của chiếc bàn.

Dữ liệu ra

In ra một số thực là số khách trung bình được vào nhà hàng. Kết quả được chấp nhận nếu sai số tuyệt đối hoặc tương đối không vượt quá 106.

Ràng buộc

  • 1n50
  • 1ai50
  • 1p50

Ví dụ

Input Output Giải thích
3
1 2 3
3
1.3333333333 Sáu thứ tự xếp hàng cho số khách vào lần lượt là: (1,2,3)2; (1,3,2)1; (2,1,3)2; (2,3,1)1; (3,1,2)1; (3,2,1)1. Trung bình (2+1+2+1+1+1)/6=8/6=1.333
1
2
1
0.0000000000 Vị khách duy nhất cần 2 mét nhưng bàn chỉ dài 1 mét, nên không ai vào được.
5
1 2 3 1 2
3
1.5000000000 Bàn dài 3 mét. Tuỳ thứ tự mà có 1, 2 hoặc 3 khách vào được, trung bình đúng bằng 1.5.

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