求调
查看原帖
求调
805617
zby0501_楼主2024/6/25 13:19
#include<cstdio>
using namespace std;
int main(){
	int n,m,c,k;
	scanf("%d%d%d%d",&n,&m,&c,&k);
	unsigned long long all=0;
	for(int i=0;i<n;++i){
		unsigned long long a;
		scanf("%llu",&a);
		all|=a;
	}
	unsigned long long mask;
	if(k==64) mask= ~0ull;
	else mask=(1ull<<k)-1;
	for(int i=0;i<m;++i){
		int p;
		scanf("%d%*d",&p);
		mask&=~(1ull<<p);
	}
	all|=mask;
	auto bitcount=__builtin_popcountll(all);
	if(bitcount==64){
		if(n==0) printf("\n");
		else printf("%ull\n",all-(n-1));
	}else
		printf("%ull\n",1ull<<__builtin_popcountll(all)-n);
	return 0;
}
2024/6/25 13:19
加载中...