結果

問題 No.77 レンガのピラミッド
ユーザー nari11111nari11111
提出日時 2014-11-26 00:19:47
言語 Python2
(2.7.18)
結果
WA  
実行時間 -
コード長 1,299 bytes
コンパイル時間 320 ms
コンパイル使用メモリ 7,040 KB
実行使用メモリ 6,528 KB
最終ジャッジ日時 2025-01-03 02:52:58
合計ジャッジ時間 1,653 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 5 WA * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

import math

# p=[1, 1, 1, 1, 1, 1, 1, 1, 1]

numofstone = raw_input()
p = map(int,raw_input().split())

for i in xrange(100):
    p.append(0)

s = sum(p)
# print s

r = math.sqrt(s)

delete = 0

if r==int(r):
    r=int(r)
else:
    for i in xrange(1,1000):
        s-=1
        r = math.sqrt(s)
        if r==int(r):
            delete=i
            r=int(r)
            break

# print r
# print "delete",delete


# print r
# print

ans=0

if delete==0:
    n=-1
    for i in xrange(1,r+1):
        n+=1
        sa=abs(p[n]-i)
        # print i, sa
        ans+=sa

    for i in xrange(r-1,0,-1):
        n+=1
        sa=abs(p[n]-i)
        # print i,sa
        ans+=sa

    for i in xrange(2*r-1,len(p)):
        n+=1
        sa=p[n]
        # print 0,sa
        ans+=sa

else:
    n=-1
    for i in xrange(1,r+1):
        n+=1
        sa=p[n]-i
        # print i, sa
        if sa<0:
            ans+=sa

    for i in xrange(r-1,0,-1):
        n+=1
        sa=abs(p[n]-i)
        # print i,sa
        if sa<0:
            ans+=sa

    for i in xrange(2*r-1,len(p)):
        n+=1
        sa=p[n]
        # print 0,sa
        if sa<0:
            ans+=sa

if delete>0:
    print ans+delete
else:
    print ans/2

0