問題一覧 > 通常問題

No.3789 Binary 0-count Sequence

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 1024 MB / 標準ジャッジ問題
タグ : (AC するまで非表示) / 解いたユーザー数 9
作問者 : hiro1729 / テスター : DeltaStruct 👑 binap 👑 AngrySadEight / テストしたAI : claude-opus-5-5
お気に入りにしたユーザー ProblemId : 14041 / 自分の提出
問題文最終更新日: 2026-11-05 21:17:43
yukicoder contest 521 yukimy32 (hiro1729) お誕生日コンテスト (順位表) の他の問題:

ストーリー

yukimy32 さんは、自分の誕生日である $1,1,0,6$ が含まれる数列が大好きです。

問題文

非負整数 $n$ に対して、$n$ を leading-zero をつけない $2$ 進数で表したときの $0$ の個数を $f(n)$ とします。ただし、$f(0)=1$ とします。例えば、$f(11)=1, f(32)=5$ です。

長さ $N$ の非負整数列 $A$ が 0-indexed で与えられます。非負整数 $L$ であって、$0 \le i < N$ に対し、$f(L+i)=A_i$ を満たすものが存在するか判定し、存在するならば $L$ としてありえる最小の非負整数、存在しないならば $-1$ を出力してください。

$T$ ケース与えられるので、それぞれに対して答えを求めてください。

制約

  • 入力は全て整数
  • $1 \le T$
  • $1 \le N$
  • $0 \le A_i \le 60 (0 \le i < N)$
  • $N$ の総和は $10^6$ 以下

入力

$T$
$case_1$
$case_2$
$\vdots$
$case_T$

各テストケースは以下の形式で与えられます。

$N$
$A_0 \ A_1 \ \ldots \ A_{N-1}$

出力

各ケースごとに、条件を満たす $L$ が存在するならばそのうち最小のものを、存在しないならば $-1$ を $1$ 行に出力し、最後に改行してください。

サンプル

サンプル1
入力
3
4
1 1 0 6
2
2 0
1
1
出力
61
-1
0

$1$ ケース目について、 $(f(61), f(62), f(63), f(64)) = (1, 1, 0, 6)$ であり、すべての $0 \le i < N$ に対し $f(L+i)=A_i$ を満たす $61$ より小さい $L$ は存在しないため、$61$ が答えです。

$2$ ケース目について、条件を満たす $L$ は存在しないため、$-1$ が答えです。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。