This page looks best with JavaScript enabled

競技プログラミングのPythonでリストを下手に扱うと死ぬ話

 ·  ☕ 1 min read  ·  ✍️ reud · 👀... views

あまりに悲しい結末になってしまったので

もくじ

事件現場

AtCoder Beginner Contest 117 C - Streamline

現場状況

被害者のソースコードは以下の通りになっている。

N,M=map(int,input().split())
Xs=list(map(int,input().split()))


Xs.sort()
costs=[]

for i in range(M-1):
    costs.append(abs(int(Xs[i])-int(Xs[i+1])))

for i in range(N-1):
    if not costs:
        print(0)
        exit(0)
    costs.remove(max(costs))




print(sum(costs))

被害者の思考

ん〜〜〜ww 最初のforでO(M)で次のforでO(N)だから絶対大丈夫だなww

こんなん絶対間に合うべwwww (提出ポチッ

TLE

考察

costs.remove(max(costs)) はいちいち最大を探すのでおっそいんだこれが

あらかじめソートしておけばこんな悲劇には・・・・

Share on

reud
WRITTEN BY
reud
Stundent