QOJ.ac

QOJ

时间限制: 2 s 内存限制: 1024 MB 总分: 10

#8408. Obrazy [C]

统计

Bajtazar vient d'emménager dans un nouvel appartement. Après avoir décoré ses étagères avec ses trophées de divers concours de récitation et des championnats de yodel de Bajtocja, il a remarqué qu'un mur était complètement vide. Cela ne lui a pas plu, il souhaite donc le recouvrir de tableaux.

Le mur de Bajtazar est un rectangle de dimensions $h \times w$ mètres. Un marchand local, qui est un ami proche de Bajtazar, propose $n$ types de tableaux, et il dispose d'un nombre illimité de tableaux de chaque type. Tous les tableaux d'un même type ont exactement les mêmes dimensions : les tableaux du $i$-ième type sont toujours des carrés de côté $d_i$ mètres. Fait intéressant, pour deux valeurs différentes $d_i$, l'une est toujours divisible par l'autre sans reste.

Pour Bajtazar, le prix des tableaux n'a pas d'importance (après tout, les prix aux championnats de yodel sont assez conséquents), mais il veut s'assurer qu'aucun espace vide ne reste sur le mur. À cette fin, il a décidé d'acheter un certain nombre de tableaux et de les accrocher au mur de manière à le recouvrir entièrement. Bien sûr, les tableaux ne peuvent pas se chevaucher, mais ils peuvent se toucher par leurs côtés. Cependant, Bajtazar ne veut pas faire trop d'allers-retours chez le marchand ; il souhaite donc acheter le moins de tableaux possible. Aidez-le et écrivez un programme qui calcule pour lui combien de tableaux il doit acheter, ou indiquez si le recouvrement du mur n'est pas possible !

Entrée

La première ligne de l'entrée contient deux entiers $h$ et $w$ ($1 \le h, w \le 10^9$) — les dimensions du mur de Bajtazar.

La deuxième ligne de l'entrée contient un entier $n$ ($1 \le n \le 30$) — le nombre de types de tableaux.

La troisième ligne de l'entrée contient une séquence de $n$ entiers distincts $d_1, d_2, \dots, d_n$ ($1 \le d_i \le 10^9$ ; $d_i < d_{i+1}$ ; $d_{i+1}$ est divisible par $d_i$ sans reste) — les dimensions des tableaux des types successifs.

Sortie

Si le recouvrement du mur est possible, la sortie doit contenir un seul entier sur une ligne, représentant le nombre minimal possible de tableaux nécessaires pour recouvrir le mur. Sinon, ce nombre doit être $-1$.

Exemples

Entrée 1

6 10
3
1 3 6

Sortie 1

9

Entrée 2

3 3
1
2

Sortie 2

-1

Remarque

Dans le premier exemple, Bajtazar peut recouvrir le mur avec neuf tableaux (six de taille $1 \times 1$, deux de taille $3 \times 3$ et un de taille $6 \times 6$), par exemple de la manière suivante :

Dans le deuxième exemple, il n'est pas possible de recouvrir le mur exactement.

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.