名もなき未知

エンジニアリングとか、日常とかそういうのをまとめる場所。アクセス解析のためGAを利用、Googleに情報を送信しています。商品紹介のためAmazonアフィリエイトを利用、Amazonに情報を送信しています。記事に関しては私が書いていない引用文を除いて自由にご利用ください。

今日の競プロ(2015/05/06)

しばらくぶりに更新.
結構出かけていることが多かった & モチベーションが下がりつつある,ということで最近ダメですね….

Golden Week Contest 2015 A 問題

問題

A: 得点 - Golden Week Contest 2015 | AtCoder

回答

Submission #399142 - Golden Week Contest 2015 | AtCoder

多分DPだなあと思いました.
一応解けたけど,最初に配列長を決めてしまったほうが綺麗に解けそうな気がします.
(そもそもこれDPになっているのかなあ,という不安もあります.

slist = [25, 39, 51, 76, 163, 111, 136, 128, 133, 138]
G = 6
partscore = 58
scores = [0, 25]
length = len(slist)
for i in range(1, length):
    temp = []
    for j in range(len(scores)):
        temp.append(scores[j])
        temp.append(scores[j] + slist[i])
        if i == G:
            temp.append(scores[j] + partscore)
    scores = temp

scores = sorted(list(set(scores)))
for elem in scores:
    print(elem)


明日からまた就活やら研究やらで忙しくなりそうなので,更新頻度また落ちてしまいそうですが,なるべく続けたいと思います(というか続けないと強くなれないので…!)