QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 256 MB 満点: 100

#958. Lockout Melawan tourist

統計

Anda sedang memainkan pertandingan lockout. Aturannya sederhana: ini adalah kontes satu lawan satu, dengan $n$ soal yang masing-masing diberi sejumlah poin. Hanya peserta pertama yang mendapat hasil diterima untuk suatu soal yang memperoleh poinnya; meskipun peserta lain hanya terlambat 1 detik, ia tidak mendapat poin apa pun. Untuk menyederhanakan, kita tidak menyertakan batas waktu maupun kemenangan dini: pertandingan berlanjut hingga setiap soal diselesaikan oleh setidaknya salah satu peserta.

Anda cukup hebat, tetapi... Anda menghadapi tourist. Ini bencana, saya tahu. Menang akan sulit, tetapi Anda berharap merebut beberapa poin untuk menyelamatkan muka. Jika Anda dan tourist mengerjakan soal yang sama, tentu ia akan mengalahkan Anda. Namun, jika Anda memilih soal berbeda, inilah kesempatan Anda! Anda akan dapat menyelesaikan soal itu sebelum tourist! Tetapi kemudian ia akan masuk mode mengamuk dan menyelesaikan semua soal yang tersisa seketika. Satu soal lebih baik daripada tidak sama sekali, bukan?

Mari kita formalkan proses ini. Setiap kali, Anda dan tourist memiliki beberapa soal yang belum diselesaikan untuk dipilih. Jika tidak ada soal yang tersisa, permainan berakhir dan Anda mendapat 0 poin. Jika tidak, Anda dan tourist masing-masing harus memilih soal untuk dikerjakan, tanpa mengetahui soal pilihan orang lain. Jika Anda memilih soal yang sama, tourist menyelesaikannya sebelum Anda, lalu kita kembali ke keadaan awal yang sama dengan lebih sedikit soal tersisa. Jika tidak, Anda mendapat poin untuk soal yang Anda pilih, tetapi permainan langsung berakhir karena tourist menyelesaikan semua soal lainnya seketika.

Anda ingin memaksimumkan jumlah poin yang diperoleh, sedangkan tourist ingin meminimumkannya. Berapakah nilai harapan hasil permainan jika Anda dan tourist sama-sama bertindak optimal?

Masukan

Baris pertama berisi satu bilangan bulat $n$ ($1 \le n \le 22$), yaitu banyaknya soal.

Baris kedua berisi $n$ bilangan bulat $a_i$ ($1 \le a_i \le 10^9$), yaitu poin untuk setiap soal.

Keluaran

Cetak satu bilangan, yaitu nilai harapan poin Anda.

Jawaban Anda dianggap benar jika kesalahan mutlak atau relatifnya tidak melebihi $10^{-6}$.

Secara formal, misalkan jawaban Anda adalah $a$, dan jawaban juri adalah $b$. Jawaban Anda diterima jika dan hanya jika $\frac{|a-b|}{\max(1,|b|)} \le 10^{-6}$.

Contoh

Masukan 1

2
6 7

Keluaran 1

3.2307692307692

Masukan 2

3
1 1 1

Keluaran 2

0.8333333333333

Masukan 3

11
1 2 3 4 5 6 7 8 9 10 11

Keluaran 3

9.4422713866103

Catatan

Perhatikan bahwa pada contoh pertama tourist dapat memastikan kemenangan pertandingan dengan selalu memilih soal kedua, dan melawan strategi ini Anda dapat selalu memilih soal pertama serta mendapat 6 poin. Namun, tourist akan bermain optimal untuk meminimumkan nilai harapan poin Anda, yang terkadang dapat berarti membiarkan Anda memenangkan pertandingan.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#318EditorialOpen题解jianglyView

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.