2N명의 남녀 대기열을 다시 배열해 N분 안에 모두 화장실을 마치게 하면서, 각 선수의 최대 불만도(앞으로 이동한 인원 수)의 최솟값을 구한다.
어려움8그리디구현수학아직 제출이 없습니다시간 제한1초메모리 제한512 MB国際情報オリンピック日本大会の競技会場の近くにはトイレが 2 つある.片方は女性専用トイレで,も う片方は男女共用トイレである.女性はどちらのトイレも利用できるが,男性は男女共用トイレのみ利用 できる.
競技が終了したので,2N 人の選手がトイレを利用するために一列に並んだ.並んだ選手はいずれも男性 または女性のどちらかである.選手は次の規則に従い,順番にトイレを利用する.
列の先頭の選手が女性の場合,先頭の選手は空いているトイレに入る.ただしトイレが両方とも空い ている場合は,女性専用トイレに入る.
列の先頭の選手が男性の場合は次の規則に従う.
すべての選手はトイレに入ってから出るまでに 1 分かかる.選手がトイレに向かうのにかかる時間は無 視してよい.
列をあらかじめ並べ替えることで,N 分後の時点で全員がトイレの利用を終えているようにしたい.
列の並べ替え方に対して,選手の不満度を次のように定義する.
不満度の定義において,実際にトイレに入るときに発生する順番の入れ替えは考慮しない.
N 分後の時点で全員がトイレの利用を終えているような列の並べ替えをうまく定めることで,選手の不 満度の最大値をできるだけ小さくしたい.
トイレに並んでいる 2N 人の選手に関する情報が与えられたとき,N 分後の時点で全員がトイレの利用 を終えているように列を並べ替えることができるかを判定し,できる場合は,選手の不満度の最大値とし て考えられる値のうち,最小の値を求めるプログラムを作成せよ.
標準入力から以下のデータを読み込め.
これらのデータから,選手の列を表現する長さ 2N の文字列 X を次のように定める.
この文字が ‘M’ のときは男性であることを表し,‘F’ のときは女性であることを表す.
標準出力に,選手の不満度の最大値として考えられる値のうちの,最小の値を 1 行で出力せよ.ただし, どのように列を並べ替えても N 分後に全員がトイレの利用を終えることが不可能な場合は,-1 を出力せよ.