求助
查看原帖
求助
1228886
skyx楼主2025/2/4 14:03

#include <bits/stdc++.h>
using namespace std;
#define ll long long
set<ll> s;
const ll mod=1145141923;
int main()
{
	ll n,m;
	ll ans=1;
	cin>>n>>m;
        if(n>m) cout<<0;return 0;
	ll f=0;
	for(int i=1;i<=n;i++)
	{
		int x;
		cin>>x;
		if(x==0) f++;
		else{
			auto r= s.insert(x);
					if(r.second==0) {
						cout<<0;return 0;
		} 
		}
	}
	ll d=m-s.size();
	while(f)
	{
		if(d<0)
		{
			cout<<0;
			return 0;
		}
		ans*=d%mod;
		d--;
		f--;
	}//6*5*4*3*2*1 30 *24
	cout<<ans;
	return 0;
}

是否是 set 用的不太妥当

2025/2/4 14:03
加载中...