結果
問題 | No.1237 EXP Multiple! |
ユーザー | tonnnura172 |
提出日時 | 2020-10-22 21:17:21 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
AC
|
実行時間 | 340 ms / 2,000 ms |
コード長 | 1,080 bytes |
コンパイル時間 | 91 ms |
コンパイル使用メモリ | 10,904 KB |
実行使用メモリ | 48,260 KB |
最終ジャッジ日時 | 2023-09-28 14:53:11 |
合計ジャッジ時間 | 5,977 ms |
ジャッジサーバーID (参考情報) |
judge12 / judge13 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 132 ms
29,712 KB |
testcase_01 | AC | 175 ms
42,992 KB |
testcase_02 | AC | 192 ms
47,460 KB |
testcase_03 | AC | 193 ms
48,080 KB |
testcase_04 | AC | 195 ms
48,260 KB |
testcase_05 | AC | 166 ms
32,692 KB |
testcase_06 | AC | 168 ms
32,776 KB |
testcase_07 | AC | 169 ms
32,624 KB |
testcase_08 | AC | 340 ms
32,536 KB |
testcase_09 | AC | 167 ms
32,688 KB |
testcase_10 | AC | 167 ms
32,640 KB |
testcase_11 | AC | 168 ms
32,604 KB |
testcase_12 | AC | 306 ms
32,816 KB |
testcase_13 | AC | 331 ms
32,720 KB |
testcase_14 | AC | 336 ms
32,684 KB |
testcase_15 | AC | 338 ms
32,432 KB |
testcase_16 | AC | 331 ms
32,800 KB |
testcase_17 | AC | 327 ms
32,736 KB |
testcase_18 | AC | 327 ms
32,640 KB |
testcase_19 | AC | 174 ms
32,672 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)