[AOJ] No. 0387 タクシー

問題

方針

\( i \) 番目のタクシーは、\( i + 1 \) 番目以降のタクシー乗り場に行くことができるので、\( N \) 番目のタクシーから考えていきます。\( N \) 番目のタクシーは、\( s_N \) の最大値を取ることができます。\( N – 1 \) 番目のタクシーは、\( (s_{N-1}\) と \( s_{N}) \) の最大値を除いたものの中から、最大のものを取ることができます。例えば、\( s_{N} = 5, 6 \) のとき、\( N \) 番目のタクシーが \( 6 \) の値を取るとき、\( s_N \) は空となるので、\( N – 1\) 番目のタクシーは、\( 5 \) を取ることができませんが、先に \( N – 1 \) 番目のタクシーが \( 5 \) を取ることで、\( N \) 番目のタクシーが \( 6 \) を取ることができます。このような方針で実装します。

コード