結果

問題 No.3501 Digit Products 2
コンテスト
ユーザー a
提出日時 2026-04-17 21:56:44
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 57 ms / 2,000 ms
コード長 1,771 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 374 ms
コンパイル使用メモリ 85,120 KB
実行使用メモリ 72,856 KB
平均クエリ数 10.89
最終ジャッジ日時 2026-04-17 21:57:01
合計ジャッジ時間 9,344 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 72
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

n=int(input())
res=[0 for _ in range(n)]
nonzero=[]
for i in range(0,n-1):
    print("? "+str(i)+" "+str(n-1))
    p=int(input())
    res[i]=p
    if p!=0:
        nonzero.append(i)
if len(nonzero)>=2:
    print("? "+str(nonzero[0])+" "+str(nonzero[1]))
    p=int(input())
    a=int((res[nonzero[0]]*res[nonzero[1]]//p)**0.5)
    ans=[str(a)]
    for i in range(n-2,-1,-1):
        ai=res[i]//a
        ans.append(str(ai))
    print("! "+"".join(ans))
elif len(nonzero)==1:
    if res[nonzero[0]]==25:
        a=5
        ans=[str(a)]
        for i in range(n-2,-1,-1):
            if i!=nonzero[0]:
                ans.append(str(0))
            else:
                ans.append(str(5))
        print("! "+"".join(ans))
    elif res[nonzero[0]]==49:
        a=7
        ans=[str(a)]
        for i in range(n-2,-1,-1):
            if i!=nonzero[0]:
                ans.append(str(0))
            else:
                ans.append(str(7))
        print("! "+"".join(ans))
    elif res[nonzero[0]]==64:
        a=8
        ans=[str(a)]
        for i in range(n-2,-1,-1):
            if i!=nonzero[0]:
                ans.append(str(0))
            else:
                ans.append(str(8))
        print("! "+"".join(ans))
    elif res[nonzero[0]]==81:
        a=9
        ans=[str(a)]
        for i in range(n-2,-1,-1):
            if i!=nonzero[0]:
                ans.append(str(0))
            else:
                ans.append(str(9))
        print("! "+"".join(ans))
    elif res[nonzero[0]]==1:
        a=1
        ans=[str(a)]
        for i in range(n-2,-1,-1):
            if i!=nonzero[0]:
                ans.append(str(0))
            else:
                ans.append(str(1))
        print("! "+"".join(ans))
    else:
        print("! -1")
else:
    print("! -1")
0