どのような前提条件で、どのような動作をするつもりで書いた関数なのか書いていただかないと…
lower_bound()と動作を比較しているということは、dの内容は昇順にソートされており、t以上の一番小さい数を返したいということでしょうか?
パッと見でまずそうな点
・VIがvector<int>なら呼び出しのたびにコピーされる
・dが要素数1で内容がtより大きい場合、d[-1]にアクセスする
ご指摘ありがとうございます。何点か情報を追加しました。
また、ご指摘のあった点で、呼び出しのたびにコピーされると実行時間が大幅に伸びたりしますか?
要素数や呼び出し回数が多ければ大幅に伸びるでしょう。
kazuma-sさんの回答にもありますが、参照にすればコピーは避けられます。
非常に勉強になりました!ありがとうございます!
回答1件
あなたの回答
tips
プレビュー