結果
問題 | No.1416 ショッピングモール |
ユーザー | kit84 |
提出日時 | 2021-03-05 22:08:52 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 51 ms / 1,000 ms |
コード長 | 1,011 bytes |
コンパイル時間 | 405 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 16,144 KB |
最終ジャッジ日時 | 2024-10-07 02:08:31 |
合計ジャッジ時間 | 2,465 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 41 ms
11,136 KB |
testcase_01 | AC | 36 ms
11,136 KB |
testcase_02 | AC | 36 ms
11,136 KB |
testcase_03 | AC | 36 ms
11,136 KB |
testcase_04 | AC | 36 ms
11,264 KB |
testcase_05 | AC | 38 ms
11,136 KB |
testcase_06 | AC | 37 ms
11,008 KB |
testcase_07 | AC | 38 ms
11,008 KB |
testcase_08 | AC | 29 ms
11,264 KB |
testcase_09 | AC | 28 ms
11,264 KB |
testcase_10 | AC | 31 ms
11,008 KB |
testcase_11 | AC | 32 ms
11,520 KB |
testcase_12 | AC | 30 ms
11,008 KB |
testcase_13 | AC | 30 ms
11,392 KB |
testcase_14 | AC | 30 ms
11,392 KB |
testcase_15 | AC | 32 ms
11,904 KB |
testcase_16 | AC | 30 ms
11,392 KB |
testcase_17 | AC | 33 ms
11,648 KB |
testcase_18 | AC | 33 ms
11,648 KB |
testcase_19 | AC | 31 ms
11,904 KB |
testcase_20 | AC | 33 ms
12,032 KB |
testcase_21 | AC | 48 ms
15,232 KB |
testcase_22 | AC | 51 ms
15,360 KB |
testcase_23 | AC | 45 ms
16,144 KB |
ソースコード
import sys input = sys.stdin.readline enum = enumerate inf = 1001001001 MOD = 10**9 + 7 import collections as cl import itertools as it import random from bisect import bisect_right as bs_r def linput(ty=int, cvt=list): return cvt(map(ty,input().split())) def vinput(rep=1, ty=int, cvt=list): return cvt(ty(input().rstrip()) for _ in range(rep)) def drint(*v, **d): if 1: print(*v, **d, file=sys.stderr) def dist(x1,y1,x2,y2): return abs(x1-x2)+abs(y1-y2) #vD = [chr(ord("a")+i) for i in range(26)] vD = [(-1,0),(0,-1),(0,1),(1,0)] vT = "0123456789" def bye(res): sT = "No Yes".split() print(sT[res]) #exit(0) def main(): N, = linput() vA = linput() #N = 5 * 10**4 #vA = [1000,]*N res = 0 cnt = 0 vA.sort() vA.reverse() f = 0 loop = 0 while cnt < N: drint(loop, cnt, f, 2**f, res) res += f * sum(vA[cnt:cnt+2**f]) cnt += 2**f f += 1 loop += 1 if loop>1000: print("die");break #for vr in mR: # print(*vr, sep="") print(res) if __name__ == "__main__": main()