[伯俊]B 2-1350


質問する


一部のファイルシステムでは、ディスク領域は常にファイルサイズと同じではありません.これは、ディスクが一定サイズのクラスタに分かれているため、1つのクラスタで1つのファイルしか使用できません.
たとえば、クラスタのサイズが512バイトで、600バイトのファイルを保存しようとすると、2つのクラスタに格納されます.2つのクラスタが他のファイルと共有できないため、ディスク容量は1024バイトです.
指定されたファイルサイズとクラスタサイズが小さい場合、プログラムを作成して使用するディスク領域を出力します.

入力


最初の行は、ファイルの個数Nを与える.Nは50以下の自然数である.2行目では、ファイルのサイズはスペースの間にあり、それぞれ1つずつ与えられます.ファイルのサイズは、10000000以下の整数ではありません.最後の行はクラスタのサイズを示します.この値は1048576以下の自然数です.

しゅつりょく


最初の行で使用したディスク領域を出力します.

に答える


N = int(input())
mylist = list(map(int, input().split()))
size = int(input())
res = 0

for i in mylist:
    if i == 0:
        res += 0
    elif i < size:
        res += size
    else:
        if i % size == 0:
            res += (i // size) * size
        else:
            res += ((i // size) * size) + size
print(res)
ファイルサイズ
  • 0時
  • クラスタサイズ未満の場合は
  • である.
  • より大きいクラスタサイズは
  • である.
    考えるべきだ.