結果
問題 | No.1237 EXP Multiple! |
ユーザー | tonnnura172 |
提出日時 | 2020-10-22 21:17:21 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 982 ms / 2,000 ms |
コード長 | 1,080 bytes |
コンパイル時間 | 145 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 60,752 KB |
最終ジャッジ日時 | 2024-07-21 09:35:01 |
合計ジャッジ時間 | 13,574 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 442 ms
43,856 KB |
testcase_01 | AC | 482 ms
53,960 KB |
testcase_02 | AC | 505 ms
60,288 KB |
testcase_03 | AC | 509 ms
60,536 KB |
testcase_04 | AC | 524 ms
60,752 KB |
testcase_05 | AC | 487 ms
46,644 KB |
testcase_06 | AC | 493 ms
46,896 KB |
testcase_07 | AC | 480 ms
47,024 KB |
testcase_08 | AC | 626 ms
47,024 KB |
testcase_09 | AC | 492 ms
47,032 KB |
testcase_10 | AC | 490 ms
46,644 KB |
testcase_11 | AC | 477 ms
46,900 KB |
testcase_12 | AC | 604 ms
47,028 KB |
testcase_13 | AC | 612 ms
46,776 KB |
testcase_14 | AC | 622 ms
46,772 KB |
testcase_15 | AC | 630 ms
46,800 KB |
testcase_16 | AC | 736 ms
46,780 KB |
testcase_17 | AC | 982 ms
46,772 KB |
testcase_18 | AC | 654 ms
46,640 KB |
testcase_19 | AC | 508 ms
46,776 KB |
ソースコード
import sys, re from collections import deque, defaultdict, Counter from math import ceil, sqrt, hypot, factorial, pi, sin, cos, radians, gcd, log2 from itertools import accumulate, permutations, combinations, product from operator import itemgetter, mul, add from copy import deepcopy from string import ascii_lowercase, ascii_uppercase, digits from bisect import bisect, bisect_left from heapq import heappush, heappop from functools import reduce, lru_cache import numpy as np def input(): return sys.stdin.buffer.readline()[:-1] def INT(): return int(input()) def MAP(): return map(int, input().split()) def LIST(): return list(map(int, input().split())) def ZIP(n): return zip(*(MAP() for _ in range(n))) sys.setrecursionlimit(10 ** 9) INF = float('inf') mod = 10 ** 9 + 7 N = INT() A = LIST() if 0 in A: print(-1) exit() ans = 1 for x in A: f = 1 for i in range(x, 1, -1): f *= i if f > mod: print(mod) exit() tmp = 1 for _ in range(f): tmp *= x if tmp > mod: print(mod) exit() ans *= tmp if ans > mod: print(mod) exit() print(mod%ans)