提交时间:2025-10-03 13:41:53
运行 ID: 38315
#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++) { ans *= pw(a[i],pw(2,i - 1) * pw(2,n - i) % (mod - 1)) * a[i] % mod; ans %= mod; } cout << ans << endl; return 0; }