| Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|---|
| 38356 | 黄子睿 | 【S】T3 | C++ | 解答错误 | 30 | 252 MS | 2600 KB | 540 | 2025-10-03 15:05:04 |
#include<bits/stdc++.h> using namespace std; int n,a[200005]; long long ans=1; long long ji[200005]; long long M=1e9+7; long long mi(int x,int a){ if(a==0) return 1; long long t=mi(x,a/2)%M; if(a%2) return (t*t*x)%M; return (t*t)%M; } int main(){ cin>>n; ji[0]=1; for(int i=1;i<=n;i++){ ji[i]=ji[i-1]*2; ji[i]%=(M-1); } for(int i=1;i<=n;i++){ cin>>a[i]; } sort(a+1,a+n+1); for(int i=1;i<=n;i++){ ans=(ans*mi(a[i],ji[i-1]))%M; ans=(ans*mi(a[i],ji[n-i]))%M; } cout<<ans<<endl; return 0; }