QOJ.ac

QOJ

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

#4326. Maliand

Statistics

Les frères Maliand, Adrian et Vedran, passent leur temps libre à jouer à des jeux vidéo sur l'ordinateur familial. Ils y mettent beaucoup de passion et les choses échappent souvent à tout contrôle, ce qui a un effet très négatif sur la santé de leur mère. Leur mère est artiste, et une artiste doit être en bonne santé. Elle a donc décidé d'établir un emploi du temps précisant, pour chaque frère, les jours de la semaine où il peut jouer sur l'ordinateur.

Comme les Maliand sont une famille d'artistes, ils ont décidé que leur semaine serait composée de $N$ jours consécutifs. Leur mère autorisera Adrian à jouer exactement $K$ jours par semaine, et Vedran exactement $L$ jours par semaine. Elle leur donnera leurs emplois du temps dès aujourd'hui, et Adrian et Vedran commenceront à les respecter demain.

Pour ne pas paraître trop sévère envers ses fils, elle a décidé de les laisser commencer à suivre leur emploi du temps à partir de n'importe quel jour qui y figure. Ensuite, bien sûr, ils devront le suivre strictement dans l'ordre indiqué, en supposant qu'il se répète périodiquement à l'infini.

Par exemple, supposons que $N = 3$, $K = 2$ et qu'Adrian ait reçu l'emploi du temps $(1, 0, 1)$, où $1$ signifie qu'il peut jouer sur l'ordinateur ce jour-là et $0$ qu'il ne le peut pas. Si Adrian décide de commencer à suivre son emploi du temps à partir du deuxième jour indiqué, cela signifie qu'il ne jouera pas demain, puis qu'il jouera les deux jours suivants, puis qu'il ne jouera de nouveau pas pendant un jour, $\ldots$

Madame Maliand sait qu'Adrian et Vedran seront les plus heureux (et les plus bruyants) les jours où ils pourront tous deux jouer sur l'ordinateur. Elle en conclut qu'ils choisiront leur point de départ de façon à maximiser le nombre de ces jours. Elle-même sera alors la moins heureuse, et elle veut donc créer des emplois du temps qui rendent le nombre de jours où les deux garçons peuvent jouer sur l'ordinateur aussi petit que possible, en supposant qu'Adrian et Vedran choisissent leurs points de départ pour maximiser ce nombre.

Aidez Madame Maliand à déterminer des emplois du temps qui minimisent le nombre de jours par semaine où les deux garçons seront autorisés à jouer sur l'ordinateur.

Entrée

La première ligne contient les nombres $N$, $K$ et $L$ définis dans l'énoncé ($0 \le K, L \le N$).

Sortie

Sur la première ligne, affichez le nombre de jours par semaine où les deux garçons seront autorisés à jouer sur l'ordinateur si Madame Maliand choisit les emplois du temps de manière optimale.

Sur la deuxième ligne, affichez l'emploi du temps d'Adrian sous la forme d'une chaîne binaire de longueur $N$ contenant $K$ chiffres $1$. Le chiffre $1$ signifie qu'Adrian peut jouer sur l'ordinateur ce jour-là, tandis que le chiffre $0$ signifie le contraire.

Sur la troisième ligne, affichez l'emploi du temps de Vedran sous la forme d'une chaîne binaire de longueur $N$ contenant $L$ chiffres $1$. Cette sortie s'interprète de la même manière que l'emploi du temps d'Adrian décrit au paragraphe précédent.

S'il existe plusieurs solutions correctes, affichez n'importe laquelle.

Sous-tâches

Sous-tâche Points Contraintes
$1$ $5$ $1 \le N \le 13$
$2$ $50$ $1 \le N \le 5\,000$
$3$ $45$ $1 \le N \le 500\,000$

Si votre programme affiche une première ligne correcte pour un test, mais propose un emploi du temps incorrect sur la deuxième ou la troisième ligne, il obtiendra $20\%$ des points prévus pour ce test. Le nombre de points obtenu pour une sous-tâche est égal au plus petit nombre de points obtenu par votre solution sur l'un des tests composant cette sous-tâche.

Exemples

Entrée 1

6 4 3

Sortie 1

2
011011
101010

Remarque

Si Adrian et Vedran décident tous deux de commencer à suivre leur emploi du temps à partir du premier jour indiqué, ils joueront tous deux sur l'ordinateur le troisième et le cinquième jour (à compter de demain). On peut montrer que Madame Maliand ne peut pas créer de meilleurs emplois du temps.

Entrée 2

5 2 0

Sortie 2

0
01001
00000

Remarque

Comme Vedran ne peut jamais jouer sur l'ordinateur, la réponse est $0$, quels que soient l'emploi du temps d'Adrian et sa décision concernant le point de départ.

Entrée 3

10 7 6

Sortie 3

5
1101100111
1110001101

Remarque

Si Adrian décide de commencer à suivre son emploi du temps à partir du premier jour indiqué et Vedran à partir du quatrième, ils joueront tous deux sur l'ordinateur le quatrième, le cinquième, le huitième, le neuvième et le dixième jour (à compter de demain). On peut montrer que Madame Maliand ne peut pas créer de meilleurs emplois du temps.

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.