高橋くんがN回の操作を終えたときの、すべての整数の合計値を求める問題です。
提出
n = int(input())
ans = 0
for i in range(n):
a, b = map(int, input().split())
ans += (a+b)*(b-a+1)//2
print(ans)
A以上B以下のすべての整数の和は、「(A+B)×(B-A+1)/2」で求めることができます。
最後の出力を整数にしたいので、プログラム内では切り捨て演算子を使っています。
代わりに「int()」を用いても問題ありません。
この整数の和をN回分足していくことで、答えを求めることができます。
split()メソッド
split()メソッドは、区切り文字を指定して、文字列を分割します。
区切り文字を指定しない場合、空白、タブ、改行で分割されます。
str.split("区切り文字")
map()関数
map()関数は、イテラブル(リストやタプルなど)の各要素に関数の処理を適用します。
map(関数、イテラブル)