入力:
各要素は、あなたが数えるだろうかどうかを示す値/文字を保持している非空のリスト/ベクトルアップ またはダウン。とを使用1
し-1
ますが、好きなものを選択できます。あなたが唯一の2つの値を使用することができ、あなたが使用することはできません1,2,3...
し、-1,-2,-3...
それぞれ上下ために、。
チャレンジ:
幾何級数1、2、4、8、16、32 ...の数字を使用します。あなたがカウントアップまたはダウンを開始するたびに、単位でカウントします1その後、2、その後、4というように。変更や他の方法を数え始めるなら、あなたは引くよ1、そして2、そして4などを。出力は、最終的に取得する番号でなければなりません。
例:
以下の例では、最初の行は入力、2番目の行はカウントアップ/ダウンする数値、3番目の行は累積合計、最後の行は出力です。
例1:
1 1 1 1 1 1 1 1 1 1
1 2 4 8 16 32 64 128 256 512
1 3 7 15 31 63 127 255 511 1023
1023
例2:
1 1 1 1 1 1 -1 -1 -1 -1 1 1 1
1 2 4 8 16 32 -1 -2 -4 -8 1 2 4
1 3 7 15 31 63 62 60 56 48 49 51 55
55
あなたは、最初に見ることができるように1
または-1
「リセット」値我々だカウント、およびの連続したシーケンス1
または-1
値を倍にする手段を。
例3:
-1 -1 1 1 -1 -1 -1
-1 -2 1 2 -1 -2 -4
-1 -3 -2 0 -1 -3 -7
-7
いくつかの潜在的なコーナーケースを説明する追加のテストケース。
入力は最初の行にあります。出力は2番目にあります。
1
1
-------
-1
-1
-------
-1 1 -1 1 -1 1 -1 1 -1 1 -1 1
0
これはコードゴルフなので、各言語での最短の提出が勝ちです。
®ì2Ãx
しxì2
て2バイト節約できると思います。