1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 累積和メニュー(言語選択)
  4. 問題一覧 Python3編
  5. 二次元累積和 3 Python3編

累積和メニューのサムネイル
二次元累積和 3 Python3編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

1 行目に整数 a, b が与えられます。

2 行目以降に 5 行 5 列の整数の二次元配列 A が与えられます。

A の i 行目 j 列目を A_{i, j} (0 ≦ i ≦ 4, 0 ≦ j ≦ 4) と表すことにします。

長方形領域の左上の要素を A_{a, 3} 、右下の要素を A_{b, 3} としたとき、この長方形領域内の整数の和を累積和を用いて求め、一行で出力してください。

入力される値

1 行目に整数 a, b が与えられます。

2 行目以降に 5 行 5 列の整数の二次元配列 A が与えられます。



a b
A_{0, 0} A_{0, 1} A_{0, 2} A_{0, 3} A_{0, 4}
A_{1, 0} A_{1, 1} A_{1, 2} A_{1, 3} A_{1, 4}
A_{2, 0} A_{2, 1} A_{2, 2} A_{2, 3} A_{2, 4}
A_{3, 0} A_{3, 1} A_{3, 2} A_{3, 3} A_{3, 4}
A_{4, 0} A_{4, 1} A_{4, 2} A_{4, 3} A_{4, 4}


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

長方形領域の左上の要素を A_{a, 3} 、右下の要素を A_{b, 3} としたとき、この長方形領域内の整数の和を累積和を用いて求め、一行で出力してください。

末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・ 0 ≦ a ≦ b ≦ 4

・ 1 ≦ A_{i, j} ≦ 100 (0 ≦ i ≦ 4, 0 ≦ j ≦ 4)

入力例1

1 3
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

出力例1

18

入力例2

1 3
8 1 3 8 1
1 3 8 1 3
3 8 1 3 8
8 1 3 8 1
1 3 8 1 3

出力例2

12

問題一覧へ戻る

ページの先頭へ戻る