配列の要素を更新するプログラムに関する次の記述を読んで,設問1〜3に答えよ。
数値を格納した配列Tがある。更新対象となる要素の場所を格納した配列pと更新後の値を格納した配列xを用いて,配列Tを更新した結果を別の配列Sに格納するプログラムを作成した。
配列Tの各要素をT[1],T[2],…,T[N](1くN),配列pの各要素をp[1],p[2],…,p[L](1≦L≦N)とする。各p[k](1≦k≦L)は更新対象となるTの要素の位置を表し,それに対応するx[k](1≦k≦L)が更新後の値を表している。ここで,配列pについてはp[L+1]も使うことができ,k=1,2,…,Lに対して1≦p[k]≦Nかつp[k]くp[k+1]である。
配列Sは,k=1,2,…,Lに対してはS[p[k]]=x[k],p[1],p[2],…,
p[L]のどれにも一致しないiに対してはS[i]=T[i]となるようにする。
このプログラムの流れ図の例を図1に示す。この流れ図中の[ a ],[ b ]に入れる適切な字句を答えよ。
設問1で示した図1の流れ図は,配列Sに対し,更新後の値の配列xをすべて使用した後も配列Tの更新対象位置の判断を行っているので,無駄な時間がかかる。この無駄な時間を排除する改善後の流れ図を図2に示す。この流れ図中の[ c ],[ d ]に入れる適切な字句を答えよ。ただし,[ a ],[ b ]には図1における[ a ],[ b ]と同じ字句が入る。
N=5,L=2,p[1]=2,p[2]=3とした場合に,図1と図2のそれぞれの実行時間(処理時間と判断時間の合計)を求めよ。ここで,流れ図中の処理(図中の [長方形]),判断(図中の[菱形])の実行に要する時間はどれも同じ(1単位)であるとする。

解説は,『通勤列車で勉強する,一種午後』第 8 号