006 - 追い抜き
時間制限 8 秒 / メモリ制限 256 MB / 得点 20 / x 11 /
問題
2 人の選手が長距離走レースを行う.ただし,その方式は普通の陸上競技と違っている.すなわち,決まった時間走って,どちらがより長い距離を走ったかを競う.スタート後 1 分ごとに,両者が直前の 1 分間に走った距離を記録する.レースの記録が与えられたとき,両者あわせて何回の追い抜きがあったかを求めるプログラムを書いてほしい.距離を記録するどの 1 分間も,両者とも一定のスピードを保つと仮定せよ.
追い抜きとは,リードされていた側が逆にリードすることを言う.追い抜く前に,しばらく並走する(どちらもリードしていない)状態があってもよいことに注意せよ.図 1 は,Sample Input の 3 番目のデータセットの各時刻の 2 人の選手の位置を図示したものである.この例の追い抜き回数は 2 である.

図 1: Sample Input の 3 番目のデータセット
Input
入力は複数のデータセットからなる.各データセットは次の形式で表される.
n
a1 ⋯ an
b1 ⋯ bn
n は,2 以上 1000 以下の整数であり,レース全体の時間を分単位で表す.各 ak (k = 1, …, n) は,1 以上 1000 以下の整数であり,1 人目の選手がスタート後 k − 1 分から k 分までの間に走った距離をメートル単位で表す.bk (k = 1, …, n) は,同様に 2 人目の選手が走った距離を表す.
入力の終わりは,ゼロ 1 つだけからなる行で表される.入力中のデータセットの個数は 100 を超えない.
Output
各データセットについて,追い抜きの回数を 1 行に出力せよ.
Sample Input
3 5 15 5 10 5 15 9 10 10 10 10 10 10 10 10 10 5 15 10 5 15 10 5 15 10 9 10 10 10 5 15 10 10 10 10 5 15 10 10 10 10 5 15 10 0
Output for the Sample Input
2 0 2