ブログを書く時間がない。
今更5/7のABCについて書いてどうするの(全然時間が足らず)
3完271位でした。最近コンテスト中に解けなかった問題を復習していないのでこのままだと永遠に伸びない/(^o^)\
A問題
A: 饅頭 - AtCoder Beginner Contest 037 | AtCoder
わざわざワンライナー。終わってからawkのint関数を使えば簡単にできたことに気がつく。弱い。1つ目、2つ目の数のうち小さいもので3つ目の数字を割り算する。(答えは整数)
print((lambda a: a[2]//min(a[0], a[1]))([int(i) for i in input().split()]))
B問題
B: 編集 - AtCoder Beginner Contest 037 | AtCoder
制約を見て愚直シュミレーションで間に合いそうだと予測し、実装。制約を見て冷静に解けたのは良かったかも。なんか気分でRuby書いた。特に理由なし。
n, q = gets.split(" ").map(&:to_i) res = Array.new(n, 0) q.times do l, r, t = gets.split(" ").map(&:to_i) for i in l-1...r do res[i] = t end end puts res.join("\n")
C問題
C: 総和 - AtCoder Beginner Contest 037 | AtCoder
愚直にやるとTLEする。しゃくとりみたいにして毎回範囲内の操作を計算するのではなく、出るものと入るものだけを見て足しあわせていく。多分範囲を上手く見てやるともう少し上手くやれるのかもしれない。(何回足しあわされるか見れば良い?)
n, k = map(int, input().split()) al = [int(i) for i in input().split()] t = sum(al[:k]) res = t for i in range(1, n-k+1): t -= al[i-1] t += al[i+k-1] res += t print(res)