思路:
我们能得出一个数大于max2,那么这个数就不是最大值,所以这题就是找最大的2就行,由于答案是个幂次方,所以我们就用快速幂,记得加longlong
CodeCodeCode:
#include<cstdio>
#include<iostream>
#define ll long long
using namespace std;
ll n,b,p,a,ans;
int power (int a,int b)//快速幂
{
int ans=1;
a%=p;
while(b)
{
if(b&1) ans=(ll)ans*(ll)a%(ll)p;
a=(ll)a*(ll)a%(ll)p;
b>>=1;
}
return (ll)ans%p;
}
int main()
{
scanf("%lld%lld%lld",&n,&b,&p);
for(ll i=1;i<=n;i++)
{
scanf("%d",&a);
ans=max(ans,a);//找最大的,sort应该也可以
}
printf("%lld\n",power(233+(ans<<1),b));//最大的*2,*2==<<1
return 0;
}