No.014 D 問題 コード 番目のヒットした行と 番目のヒットした行の間には 行ある. このうち出力される行は, 行である. よって, を昇順にソートしておき, 二分探索で となる範囲を探して, その範囲の の和 ( の累積和はあらかじめ計算しておく) と残りの範囲に を掛けたものの和が, ヒットした行と行の間で出力される行数となる. これにヒットした行数 と 以前で出力される行数 , 以降で出力される行数 を足したものがすべての出力行数となる.