| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38320 | 申东铉 | 【S】T3 | C++ | 解答错误 | 30 | 140 MS | 1816 KB | 549 | 2025-10-03 13:46:19 |
#include <bits/stdc++.h> #define int long long using namespace std; const int mod = 1e9 + 7; int n,a[200005],ans = 1; inline int pw (int x,int y) { int r = 1; while (y) { if (y & 1) { r *= x; r %= mod; } x *= x; x %= mod; y >>= 1; } return r; } signed main () { cin >> n; for (int i = 1;i <= n;i++) { cin >> a[i]; } sort(a + 1,a + n + 1); for (int i = 1;i <= n;i++) { int x = (pw(2,i - 1) + pw(2,n - i)) % (mod - 1); ans *= pw(a[i],x); ans %= mod; } cout << ans << endl; return 0; }