>>851
>単にエラー吐いて終わり
それなら場合分け必須なので1件の場合と要素数が一致してる場合を含めて
最初から分岐させたほうが効率的

min(i, max_prm_index)はprmsが2件でitemsが4件のときだと
(prms[0], item[0]), (prms[1], item[1]), (prms[1], item[2]), (prms[1], item[3])になるでしょ
つまり不足してる要素数分だけprmsの最後の要素を適用し続ける
そういう処理を意図してないならやめたほうがいい

あとループもしくはイテレートのことを再帰と呼んでない?