这背包真有意思
查看原帖
这背包真有意思
246331
mystic_qwq楼主2023/5/13 23:04

没错,这题目就是为吸引你们点进来的(悬赏关注)

mod=998244353,x,ch;
#define i64 long long
read(){
  x=0,ch=getchar();
  while(!isdigit(ch))
    ch=getchar();
  while(isdigit(ch))
    x=(x<<1)+(x<<3)+(ch^48),ch=getchar();
  return x;
}
qpow(p,k){//p^k
  i64 b=p,a=1;
  while(k){
    k&1&&(a=a*b%mod);
    b=b*b%mod;
    k>>=1;
  }
  return a;
}
i64 n,p;
main(ans){
  scanf("%lld%lld",&n,&p),p%=mod;
  while(n--)
    ans=ans*(qpow(p,read())+1)%mod;
  printf("%lld",ans);
}

以上代码中的一行改为i64 qpow(i64 p,i64 k){即可AC,否则只得2分!我不明白这个返回值也是在int范围里,导入的p和k也是在int范围,为什么非得采取long long//

2023/5/13 23:04
加载中...