結果
問題 |
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()