[Huawei OD Unified Exam Paper | 200 points] Copier des fichiers via une disquette C++ Java JavaScript)

description du sujet

Un scientifique veut copier des fichiers d'un ancien ordinateur pour étudier par lui-même.

Mais cet ordinateur n'a aucun moyen d'enregistrer des fichiers à l'exception d'un lecteur de disquette de 3,5 pouces, et une seule disquette peut être utilisée.

Par conséquent, cette disquette est le seul support qui peut être utilisé pour copier des fichiers.

Les scientifiques veulent copier autant d'informations que possible de l'ordinateur vers la disquette afin de maximiser la taille totale du contenu du fichier sur la disquette.

On sait que la capacité de la disquette est de 1474560 octets. L'espace de disquette occupé par les fichiers est alloué en blocs, et chaque bloc a une taille de 512 octets. Un bloc ne peut être utilisé que par un seul fichier. Les fichiers copiés sur la disquette doivent être complets sans aucune technique de compression.

entrez la description

La première ligne est un entier N, indiquant le nombre de fichiers dans l'ordinateur. 1 ≤ N ≤ 1000.
De la ligne suivante 2 à la ligne N+1 (N lignes au total), chaque ligne est un entier, indiquant la taille Si de chaque fichier, en octets.

0 ≤ je < N,0 ≤ Si

description de la sortie

La taille de fichier totale maximale que les scientifiques peuvent copier

Remarque

Afin d'utiliser pleinement l'espace disque, les blocs occupés par chaque fichier sur la disquette sont enregistrés dans le cahier. Autrement dit, seul le contenu du fichier lui-même occupe l'espace de la disquette.

Mode d'entrée et de sortie ACM

Si vous utilisez souvent Leetcode , vous saurez que letcode n'a pas besoin d'écrire des fonctions d'entrée et de sortie. Cependant, le test de la machine Huawei OD utilise le mode ACM , qui nécessite une programmation manuelle de l'entrée et de la sortie.

Il est donc préférable de se familiariser avec ce mode à l'avance sur Niu-ke. Par exemple, C++ est utilisé cin/coutet python est utilisé input()/print(). JavaScript utilise les nœuds readline()etc

おすすめ

転載: blog.csdn.net/shangyanaf/article/details/131157141