Official

B - 饂飩屋の席 / Seats in an Udon Restaurant Editorial by admin

swe-2-high

解説

各行を上から順に読み、.(空席)の個数 \(c\) を数えます。これまでの最大値 best より \(c\) が真に大きいときだけ、最大値と行番号 idx を更新します。条件を c > best(厳しい不等号)にしているため、空席数が同じ行が複数あっても先に見つかった方、つまり最も上の行が残り、タイのときの「最も上の行を答える」という条件を自然に満たします。全行を見終わった時点で idx は空席が最も多い行のうち最上のものになっています。

各行の文字数えに \(O(W)\)、全体で \(O(HW)\) 時間。保持するのは1行分の文字列 \(O(W)\) とカウンタ類だけなので、入出力を含めてもメモリは \(O(W)\)(入力全体を数えても \(O(HW)\))です。