QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#958. Lockout vs tourist

Statistics

Vous participez à un match de type « lockout ». Les règles sont simples : il s'agit d'un concours en 1 contre 1, comportant $n$ problèmes avec différents points attribués. Seul le premier participant à faire accepter le problème obtient les points ; même si l'autre est en retard d'une seconde, il n'obtient aucun point. Pour simplifier, nous n'inclurons pas de limites de temps ni de victoires anticipées : le match se poursuit jusqu'à ce que chaque problème soit résolu par au moins l'un des participants.

Vous êtes plutôt bon, mais... vous affrontez tourist. C'est un désastre, je sais. Il serait difficile de gagner, mais vous espérez arracher quelques points pour sauver les apparences. Si vous et tourist travaillez sur le même problème, il vous battra, c'est certain. Mais si vous avez choisi un problème différent, c'est votre chance ! Vous serez capable de résoudre ce problème avant tourist ! Mais ensuite, il entrera en mode « berserk » et résoudra instantanément tous les problèmes restants. Un problème vaut mieux que rien, n'est-ce pas ?

Formalisons un peu le processus. À chaque étape, vous et tourist avez des problèmes non résolus parmi lesquels choisir. S'il ne reste aucun problème non résolu, le jeu se termine et vous obtenez 0 point. Sinon, vous et tourist choisissez chacun un problème sur lequel travailler, sans savoir quel problème l'autre personne a choisi. Si vous choisissez le même problème, tourist le résout avant vous et nous revenons au même état initial avec moins de problèmes restants. Sinon, vous obtenez les points du problème que vous avez choisi, mais le jeu se termine immédiatement car tourist résout instantanément tous les problèmes restants.

Vous voulez maximiser le nombre de points que vous obtiendrez, tourist veut le minimiser. Quel est le résultat attendu du jeu si vous et tourist jouez de manière optimale ?

Entrée

La première ligne contient un entier $n$ ($1 \le n \le 22$) — le nombre de problèmes. La deuxième ligne contient $n$ entiers $a_i$ ($1 \le a_i \le 10^9$) — les points pour chaque problème.

Sortie

Affichez un nombre — votre score attendu.

Votre réponse est considérée comme correcte si son erreur absolue ou relative n'excède pas $10^{-6}$. Formellement, soit $a$ votre réponse et $b$ la réponse du jury. Votre réponse est acceptée si et seulement si $\frac{|a-b|}{\max(1,|b|)} \le 10^{-6}$.

Exemples

Entrée 1

2
6 7

Sortie 1

3.2307692307692

Entrée 2

3
1 1 1

Sortie 2

0.8333333333333

Entrée 3

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

Sortie 3

9.4422713866103

Remarque

Notez que dans le premier exemple, tourist pourrait sûrement gagner le match en choisissant toujours le deuxième problème, et contre cette stratégie, vous pourriez toujours choisir le premier problème et obtenir 6 points. Mais tourist jouera de manière optimale pour minimiser votre score attendu, ce qui pourrait parfois signifier vous laisser gagner le match.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#318EditorialOpen题解jiangly2025-12-14 07:04:13View

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.