結果
| 問題 | 
                            No.1140 EXPotentiaLLL!
                             | 
                    
| コンテスト | |
| ユーザー | 
                             burita083
                         | 
                    
| 提出日時 | 2022-05-15 01:39:28 | 
| 言語 | Python3  (3.13.1 + numpy 2.2.1 + scipy 1.14.1)  | 
                    
| 結果 | 
                             
                                TLE
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 669 bytes | 
| コンパイル時間 | 273 ms | 
| コンパイル使用メモリ | 12,672 KB | 
| 実行使用メモリ | 100,616 KB | 
| 最終ジャッジ日時 | 2024-07-23 13:10:15 | 
| 合計ジャッジ時間 | 8,917 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | -- * 1 | 
| other | TLE * 1 -- * 11 | 
ソースコード
#n以下の素数列挙(O(n log(n))
st = set()
def primes(n):
    ass = []
    is_prime = [True] * (n + 1)
    is_prime[0] = False
    is_prime[1] = False
    for i in range(2, int(n**0.5) + 1):
        if not is_prime[i]:
            continue
        for j in range(i * 2, n + 1, i):
            is_prime[j] = False
    for i in range(len(is_prime)):
        if is_prime[i]:
            ass.append(i)
            st.add(i)
    return ass
T = int(input())
primes(5*10**6+1)
for _ in range(T):
  A, P = map(int, input().split())
  ans = 1
  if not P in st:
    print(-1)
    continue
  flag = False
  for p in range(P, 0, -1):
    ans *= pow(A, p, P)
  print(ans%P)
            
            
            
        
            
burita083