回答
#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))