結果
| 問題 | No.2709 1975 Powers | 
| コンテスト | |
| ユーザー |  寝癖 | 
| 提出日時 | 2024-03-31 17:08:27 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 732 ms / 2,000 ms | 
| コード長 | 559 bytes | 
| コンパイル時間 | 354 ms | 
| コンパイル使用メモリ | 82,536 KB | 
| 実行使用メモリ | 138,752 KB | 
| 最終ジャッジ日時 | 2024-09-30 21:08:58 | 
| 合計ジャッジ時間 | 10,118 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 2 | 
| other | AC * 25 | 
ソースコード
N, P, Q = map(int, input().split())
A = list(map(int, input().split()))
A.sort()
M = max(A)+1
pow_10, pow_9, pow_7, pow_5 = [1]*M, [1]*M, [1]*M, [1]*M
for i in range(M-1):
    pow_10[i+1] = pow_10[i]*10 % P
    pow_9[i+1] = pow_9[i]*9 % P
    pow_7[i+1] = pow_7[i]*7 % P
    pow_5[i+1] = pow_5[i]*5 % P
ans = 0
for i in range(N-3):
    for j in range(i+1, N-2):
        for k in range(j+1, N-1):
            for l in range(k+1, N):
                if (pow_10[A[i]] + pow_9[A[j]] + pow_7[A[k]] + pow_5[A[l]]) % P == Q:
                    ans += 1
print(ans)
            
            
            
        