結果
| 問題 | No.551 夏休みの思い出(2) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-07-29 03:25:19 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 344 ms / 4,000 ms |
| コード長 | 498 bytes |
| 記録 | |
| コンパイル時間 | 586 ms |
| コンパイル使用メモリ | 82,504 KB |
| 実行使用メモリ | 79,872 KB |
| 最終ジャッジ日時 | 2024-10-10 20:38:13 |
| 合計ジャッジ時間 | 10,037 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 47 |
ソースコード
p,r=map(int,input().split())
f=lambda a:pow(a,(p-1)//2,p)!=p-1
def h(a):
if a%p==0:return 0
b=2
while f(b*b-a):b+=1
h=lambda u,v:((u[0]*v[0]+u[1]*v[1]*(b*b-a))%p,(u[0]*v[1]+u[1]*v[0])%p)
e,r,v=(p+1)//2,(1,0),(b,1)
while e:
if e&1:r=h(r,v)
v,e=h(v,v),e//2
return r[0]
for _ in range(int(input())):
a,b,c=map(int,input().split())
d=b*b-4*a*c
a=pow(2*a,p-2,p)
D=h(d)
if f(d):print(*sorted(set(((D-b)*a%p,(-b-D)*a%p))))
else:print(-1)