結果
問題 |
No.77 レンガのピラミッド
|
ユーザー |
|
提出日時 | 2017-03-15 09:37:46 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 30 ms / 5,000 ms |
コード長 | 638 bytes |
コンパイル時間 | 82 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-07-03 23:47:40 |
合計ジャッジ時間 | 1,605 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 20 |
ソースコード
from math import sqrt N = int(input()) blocks = [int(i) for i in input().split()] total = sum(blocks) n = int(sqrt(total)) plus = 0 # 作るピラミッド列よりも与えられたブロック数が多い場合 if 2*n-1 <= N: for i in range(n): plus += max(blocks[i] - (i + 1), 0) for i in range(n, 2*n-1): plus += max(blocks[i] - (2*n-1 - i), 0) for i in range(2*n-1, N): plus += blocks[i] else: for i in range(n): if i < N: plus += max(blocks[i] - (i + 1), 0) for i in range(n, 2*n-1): if i < N: plus += max(blocks[i] - (2*n-1 - i), 0) print(plus)