結果
| 問題 |
No.2709 1975 Powers
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-05-26 18:17:32 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 906 bytes |
| コンパイル時間 | 598 ms |
| コンパイル使用メモリ | 82,632 KB |
| 実行使用メモリ | 278,988 KB |
| 最終ジャッジ日時 | 2025-05-26 18:17:40 |
| 合計ジャッジ時間 | 6,385 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 1 TLE * 1 -- * 23 |
ソースコード
def main():
N, P, Q = map(int, input().split())
A = sorted(map(int, input().split()))
divisors = [10, 9, 7, 5]
A_mod = [{div_: pow(div_, a_elm, P) for div_ in divisors} for a_elm in A]
table = [[[0 for _ in range(5)] for _ in range(P)] for _ in range(2)]
table[0][0][0] = 1
for mod_elm in A_mod:
for cur_rest in range(P):
for cur_phase in range(5):
if table[0][cur_rest][cur_phase] == 0:
continue
table[1][cur_rest][cur_phase] += table[0][cur_rest][cur_phase]
if cur_phase < 4:
table[1][(cur_rest + mod_elm[divisors[cur_phase]]) %
P][cur_phase + 1] += table[0][cur_rest][cur_phase]
table[0] = table[1]
table[1] = [[0 for _ in range(5)] for _ in range(P)]
print(table[0][Q][-1])
if __name__ == "__main__":
main()