求助!!!70pts WA了6个点 求大佬康康
查看原帖
求助!!!70pts WA了6个点 求大佬康康
400593
wuyiduo楼主2022/3/22 16:16
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
unsigned long long lis,tab,ans=1,n,m,c,k,a,p,q;
int main(){
	scanf("%llu%llu%llu%llu",&n,&m,&c,&k);
	for(int i=1;i<=n;i++){
		scanf("%llu",&a);
		lis|=a;
	}
	for(int i=1;i<=m;i++){
		scanf("%llu%llu",&p,&q);
		tab|=1<<p;
	}
	unsigned long long sum=pow(2,k);
	if((lis&tab)==tab) return !printf("%llu",sum-n);
	else{
		tab-=lis&tab;
		for(int i=0;i<k;i++)
			if(((tab>>i)&1)==0) ans<<=1;
	}
	if(ans==0&&n==0) printf("%llu",(unsigned long long)-1+1);
	printf("%llu",ans-n);
	return 0;
}
2022/3/22 16:16
加载中...