008 - ダイヤル錠
時間制限 1 秒 / メモリ制限 256 MB / 得点 10 / x 23 /
問題
PCK君の家のポストには特別なダイヤル錠が付いています。このダイヤル錠には0 から9 までの数字が時計回りに並んだ回転式のダイヤルがあります。ダイヤルの上部に赤い目印が付いていて、数字が目印に合うとカチッと1回音が鳴ります。
このダイヤル錠には、錠を開けるための所定の数字列が暗証番号として設定されています。開錠するには、0 を目印に合わせた状態から、ダイヤルを回して暗証番号に含まれる数字を順番に目印に合わせていきます。すべての数字を合わせるまでにカチッと鳴る音の数が最小の場合にのみ、このダイヤル錠を開錠することができます。
たとえば、暗証番号 が 374 の場合は、図に示すように 0 を目印に合わせた状態から、反時計回りに 3 まで回し、次に反時計回りに 7 まで、最後に時計回りに 4 まで回せば、全部で 10 回音が鳴 ります 。 3、 7、4 の順番で合わせるときに音が鳴る回数は 10 回が最小なので、この方法でダイヤルを回すとダイヤル錠が開錠します。
ダイヤル錠の暗証番号が与えられたとき、 数字 0 を目印に合わせた状態から開錠するまでに鳴る音の回数を計算 するプログラムを作成せよ。
入力
入力は以下の形式で与えられる。
N $a_1$ $a_2$ ... $a_N$
1行目に暗証番号の列に含まれる数字の個数 $N$ ( 1 ≤ $N$ ≤ 1 , 000 ) が与えられる。2行目に暗証番号に含まれる数字 $a_i$ ( 0 ≤ $a_i$ ≤ 9 ) が順番に 与えられる。 ただし、同じ数字が連続して与えられることはない。また、最初の数字 $a_1$ は 0 以外の数字である
出力
開錠するまでに鳴る音の回数を1行に出力する。
入出力例
入力例1
3 3 7 4
出力例1
10
入力例2
4 1 2 3 9
出力例2
7