95分,第15点
查看原帖
95分,第15点
201343
woshi新手小白楼主2020/11/26 00:54

错的和大家都不太一样.... 18点没有问题,特判也加了,但第15个点错了。

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <iomanip>
#include <cmath>
typedef unsigned long long ULL;
using namespace std;

unsigned long long  n,m,c,a,b,k,d,l=0;
unsigned long long  biao1=0,biao2=0,e;

int main(){
	
	cin>>n>>m>>c>>k;
	for(int i=1;i<=n;i++){
		cin>>a;
		biao1|=a;
	}
	d=0;
	for(int i=1;i<=m;i++){
		cin>>a>>b;
		biao2=biao2|(1ULL<<a);
	}
	
	e=(~biao1)&biao2;
	
	for(int i=0;i<=63;i++){
		if((e>>i)&1ULL) d++;
	}
	
	l=pow(2,k-d)-n;
	if(k==64) {
		cout<<"18446744073709551616";
	}
	else cout<<l;
	
	return 0;
}
2020/11/26 00:54
加载中...