a[i] = (1-a[i-1])/2递推式推出正式公式
然后快速幂加逆元求出公式结果就行了
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cstring>
#define mod 1000000007ll
#define LL long long
using namespace std;
LL n;
LL fastMod(LL a,LL b)
{
LL ans = 1;
while(b)
{
if(b&1) ans*=a;
ans%=mod;
a*=a;
a%=mod;
b>>=1ll;
}
return ans;
}
int main()
{
scanf("%I64d",&n);
bool flag = 0;
LL ansUp = 0,ansDown = 2;
for(int i=0;i<n;i++)
{
LL pre;
scanf("%I64d",&pre);
ansDown = fastMod(ansDown,pre);
if(pre%2==0)flag = 1;
}
ansDown = ansDown%mod*fastMod(2,mod-2)%mod;
if(!flag) ansUp = (ansDown-1)%mod*fastMod(3,mod-2)%mod;
else ansUp = (ansDown+1)%mod*fastMod(3,mod-2)%mod;
printf("%I64d/%I64d\n",ansUp,ansDown);
return 0;
}