提交时间:2025-10-03 13:48:55
运行 ID: 38322
#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 md) { int r = 1; while (y) { if (y & 1) { r *= x; r %= md; } x *= x; x %= md; 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,mod - 1) + pw(2,n - i,mod - 1)) % (mod - 1); ans *= pw(a[i],x,mod); ans %= mod; } cout << ans << endl; return 0; }