SRM394 Div2 500

問題

文字列sが与えられる。sの一番多く使われている文字をc1、0回以上使われている中で一番使われていない文字をc2とすると、sのroughnessは、(c1の文字数)-(c2の文字数)で与えられる。
0文字以上n文字以下の文字をsから消すことができる場合、最小の可能なroughnessはいくつか。

考え方

全探索。
使われている文字の数を数え、配列vに入れる。
メモ化dfsで1文字分、c1かc2の文字を消した時の配列のroughnessを計算して、n文字分まで調べ、その最小値を返す。

反省

最大ケースのチェックはローカルではなくホストでやる。