名もなき未知

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

No.146 試験監督(1)

回答

#43850 No.146 試験監督(1) - yukicoder

座れる場所が2箇所の時1,3箇所の時2,4箇所の時2,5箇所の時3...
ということで,座れる箇所はn箇所の時 ceil(n) で求められますね.ただしここでは計算を簡単に,(n + 1) // 2で求めることが可能です.
Pythonだと//はint型同士の割り算扱いになるので… ここが少し特殊ですね)

で,アルゴリズムがあっているのに,最後 10 ** 9 + 7 で割り忘れて非常に冷えました.^^;

res = 0
n = int(input())
for i in range(n):
    c, d = map(int, input().split())
    res += ((c + 1) // 2) * d
print(res % (10 ** 9 + 7))