結果
| 問題 | No.3789 Binary 0-count Sequence |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-11-06 22:29:16 |
| 言語 | PyPy3 (8.0.1 + ACL) |
| 結果 |
WA
不安定
|
| 実行時間 | - |
| コード長 | 2,285 bytes |
| 記録 | |
| コンパイル時間 | 94 ms |
| コンパイル使用メモリ | 64,380 KB |
| 実行使用メモリ | 155,212 KB |
| 最終ジャッジ日時 | 2026-11-06 22:29:25 |
| 合計ジャッジ時間 | 7,783 ms |
|
ジャッジサーバーID (参考情報) |
judge4_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 4 WA * 13 |
ソースコード
import sys
sys.setrecursionlimit(2*10**7)
#↓codon===============================
import string
Alp_low=list(string.ascii_lowercase)
Alp_up=list(string.ascii_uppercase)
Digit="0123456789"
dij=[[0,1],[1,0],[0,-1],[-1,0]]
def nin():
"""
library
https://github.com/not522/ac-library-python
https://github.com/cheran-senthil/PyRival
https://github.com/kurao2924/Kurao_Py_Library
https://github.com/navel-tos/cp-library-for-codon
"""
return list(map(int,input().split()))
def deq(x):
return [i-1 for i in x]
mod=998244353
_factorial=[1]
def factorial(n):
while len(_factorial)<=n:
_factorial.append((_factorial[-1]*len(_factorial))%mod)
return _factorial[n]
_inv_factorial=[1]
def inv_factorial(n):
while len(_inv_factorial)<=n:
_inv_factorial.append((_inv_factorial[-1]*pow(len(_inv_factorial),mod-2,mod))%mod)
return _inv_factorial[n]
def binom(n,r):
if r>=mod:
raise ValueError("r is too big")
if n<0:
return 0
if r>n:
return 0
if r<0:
return 0
ans=((factorial(n)*inv_factorial(r))%mod*inv_factorial(n-r))%mod
return ans
mod=998244353
def main():
t,=nin()
for _ in range(t):
n,=nin()
a=nin()
if n==1:
if a[0]==0:
print(1)
elif a[0]==1:
print(0)
else:
print(1<<a[0])
else:
b=[a[i+1]-a[i]+1 for i in range(n-1)]
if min(b)<0:
print(-1)
continue
if b.count(max(b))>1:
print(-1)
continue
if max(b)==0:
if n==2:
if a[0]==1:
print(0)
else:
print(1<<a[0])
else:
print(-1)
continue
if min(a)==0:
l=(1<<max(b)-1)-b.index(max(b))-1
else:
l=(1<<max(b))-b.index(max(b))-1
l+=(1<<l.bit_length()+min(a))
x=[a[i]-((l+i).bit_length()-(l+i).bit_count()) for i in range(n)]
if x==[0]*len(x):
print(l)
else:
print(-1)
if __name__=="__main__":
main()