Official

B - フェンスの隙間 / Fence Gap Editorial by admin Editorial for printing

swe-2-high

解説

左から \(i\) 番目の隙間の幅は \(A_{i+1} - A_i\) です。プログラムは位置の列を読み込み、\(i = 1, \ldots, N-1\) について隣接差を計算し、それまでの最大値 best を更新するたびに番号 idx を記録します。

正しさの理由:走査は全 \(N - 1\) 個の隙間を漏れなく調べ、best は常に「調べ終えた隙間の幅の最大値」を保持します。更新条件が >(真に大きい場合のみ)なので、同じ最大幅が後で現れても idx は上書きされず、最大幅を持つ隙間のうち最初に現れたもの、すなわち最も左の番号が残ります。全隙間を調べ終えた時点で idx が答えです。

計算量は時間 \(O(N)\)、入力配列の保持に \(O(N)\) の空間がかかります。

posted:
last update: