No.3745 Line Seats
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 1024 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 15
作問者 :
Nihonielse
/ テスター :
競プロするわりとねこ
/ テストしたAI :
gemini-3.5-flash-lite
タグ : / 解いたユーザー数 15
作問者 :
競プロするわりとねこ
/ テストしたAI :
問題文最終更新日: 2026-09-23 13:56:06
問題文
一列に並んだ $N$ 個の席に人が座っています。席の番号は左から $1,2,3,\ldots,N$ と付いています。
人が座っているかの状況は長さ $N$ の文字列 $S$ で与えられます。
$S$ の $i$ 文字目が # であるときは $i$ 番目の席は埋まっていて、 . であるときは $i$ 番目の席は空いています。
フレロビくんは現在、左端の席の前に居ます。
フレロビくんはなるべく人から離れた位置に座ろうと考えています。
具体的には、最も近い # までの距離が最大となる空いている席に座ります。ただし、そのような席が複数ある場合は、現在地、つまり左端から最も近い席に座ります。
フレロビくんが座る席の番号を出力してください。ただし、この問題の制約上において、フレロビくんは必ず座れます。
制約
- $2 \le N \le 10^5$
- $|S| = N$
- $S$ に
#と.が少なくとも1つはある
入力
$N$ $S$
部分点
この問題にはサブタスクによる部分点が設定されています。
| サブタスク名 | 配点 | 制約 |
|---|---|---|
| 部分点 | 20%(40点) | $N \le 10^4$ |
| 満点 | 80%(160点) | 追加の制約は無い。 |
出力
答えを出力し、改行してください。
サンプル
サンプル1
入力
5 ##...
出力
5
5番目の席が最も近い人からの距離が最大になるので、5を出力します。
サンプル2
入力
7 #..#..#
出力
2
どの空いている席も最も近い人からの距離が同じなので、最も左端に近い2を出力します。
サンプル3
入力
10 ..#.....##
出力
6
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。