ARC167B求助
  • 板块题目总版
  • 楼主Cure_Wing
  • 当前回复3
  • 已保存回复3
  • 发布时间2023/10/15 22:05
  • 上次更新2023/11/2 13:32:02
查看原帖
ARC167B求助
394167
Cure_Wing楼主2023/10/15 22:05

WA 了 21 个点

#include<iostream>
#include<cstdio>
#include<algorithm>
using std::cin;using std::cout;
constexpr int p=998244353;
long long a,b,mul=1;
int maxn,cnt,tot;
inline int qpow(int a,int b,int p,int t=1){for(;b;b>>=1,a=1ll*a*a%p)if(b&1)t=1ll*t*a%p;return t;}
signed main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	std::ios::sync_with_stdio(false);
	cin.tie(nullptr);cout.tie(nullptr);
	cin>>a>>b;b%=p;
	for(int i=2;1ll*i*i<=a;++i){
		cnt=0;
		// if(a%i==0) ++tot;
		while(a%i==0){
			a/=i;
			++cnt;
		}
		mul=mul*(cnt*b%p+1)%p;
		// maxn=std::max(maxn,cnt);
	}
	if(a!=1){
		// maxn=std::max(maxn,cnt=1);
		mul=mul*(b%p+1)%p;
		// ++tot;
	}
	cout<<mul*qpow(2,p-2,p)%p*b%p;
	return 0;
}
2023/10/15 22:05
加载中...