今回は、AtCoder Beginner Contest 129B
を解いていきたいと思います。
1から Nの番号がついた N個の重りがあり、番号 iの重りの重さは Wiです。
ある整数 1≤T
このような分け方全てを考えた時、S1と S2の差の絶対値の最小値を求めてください。
sum()
になる。sum()-S1=S2
が成り立つ。min()
を用いて出力する。N=int(input())
W=list(map(int,input().split()))
L=[]
for i in W:
A=sum(W[:i])
B=sum(W)-sum(W[:i])
L.append(abs(A-B))
print(min(L))
WA
でした。
🐍なんでや!!
🐶落ち着け。Wでなんでforを回してるねん。順番ずれるし番号めちゃくちゃや。
🐍!!
N=int(input())
W=list(map(int,input().split()))
L=[]
for i in range(N):
A=sum(W[:i])
B=sum(W)-sum(W[:i])
L.append(abs(A-B))
print(min(L))
🐍ACしたで!
n,*w=map(int,open(0).read().split());print(min(abs(sum(w[:i])-sum(w[i:]))for i in range(n)))
🐍1行で書けるの?
🐶;
で分割されてるで
n,*w=map(int,open(0).read().split())
ですべての入力を受けてます
n
とw
にそれぞれ格納されます。
min(abs(sum(w[:i])-sum(w[i:]))for i in range(n)
で
abs(sum(w[:i])-sum(w[i:])))
で絶対値をとりにいきfor
でリストに格納します
🐍
open(0).read().split()
は便利そう。
第1回 | Pythonで競プロ|ABC129A| |
第2回 | Pythonで競プロ|ABC129B| |
第3回 | Pythonで競プロ|ABC129C| |
第4回 | AtCoder Beginner Contest 073CをPythonで解く |
第5回 | AtCoder Beginner Contest 095CをPythonで解く |
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント