結果
| 問題 |
No.2709 1975 Powers
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-03-31 23:03:01 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 1,233 ms / 2,000 ms |
| コード長 | 1,384 bytes |
| コンパイル時間 | 161 ms |
| コンパイル使用メモリ | 81,920 KB |
| 実行使用メモリ | 76,928 KB |
| 最終ジャッジ日時 | 2024-09-30 21:30:03 |
| 合計ジャッジ時間 | 14,356 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 25 |
ソースコード
#!/usr/bin/python3
import bisect
import collections
import heapq
import itertools
import math
import os
import sys
B = (10, 9, 7, 5)
def main():
n, p, q = read_ints()
A = read_ints()
A.sort()
P = list2d(4, n)
for c in range(4):
for i in range(n):
P[c][i] = pow(B[c], A[i], p)
print(rec(n, p, q, P, 0, 0, 0))
def rec(n, p, q, P, i, c, s):
if c == 4:
if s == q:
return 1
return 0
ans = 0
for j in range(i, n - (3 - c)):
ans += rec(n, p, q, P, j + 1, c + 1, (s + P[c][j]) % p)
return ans
###############################################################################
DEBUG = 'DEBUG' in os.environ
def inp():
return sys.stdin.readline().rstrip()
def read_int():
return int(inp())
def read_ints():
return [int(e) for e in inp().split()]
def list2d(d1, d2, init=None):
return [[init] * d2 for _ in range(d1)]
def list3d(d1, d2, d3, init=None):
return [[[init] * d3 for _ in range(d2)] for _ in range(d1)]
def list4d(d1, d2, d3, d4, init=None):
return [[[[init] * d4 for _ in range(d3)] for _ in range(d2)]
for _ in range(d1)]
def debug(fmt, *args):
if DEBUG:
if args:
print(fmt.format(*args), file=sys.stderr)
else:
print(fmt, file=sys.stderr)
if __name__ == '__main__':
main()