没过hack求调
查看原帖
没过hack求调
879804
sdjjdjdjdjd楼主2024/11/19 21:25

代码如下:

#include<iostream> 
int main()
{
	using namespace std;
	using ull=unsigned long long;
	ull n,m,c,k;
	scanf("%llu%llu%llu%llu",&n,&m,&c,&k);
	if(n==1&&c==1){
	    printf("1");
	}
	ull a=0;
	for(int i=0;i<n;i++){
	    ull x;
	    scanf("%llu",&x);
	    a|=x;
	}
	bool bit[64]={0};
	for(int i=k-1;i>=0;i--) bit[i]=(a>>i)&1;
	bool no[64]={0};
	for(int i=0;i<m;i++){
		ull p,q;
		scanf("%llu%llu",&p,&q);
		if(!bit[p]) no[p]=1;
	}
	int cnt=0;
	for(auto i:no) if(i) cnt++;
	ull ans=1ull<<(k-cnt);
	if (k - cnt == 64) {
    if (n)
      cout << ull(-n) << endl;
    else
      cout << "18446744073709551616" << endl;
  } else
    cout << (1ull << (k - cnt)) - n << endl;
} 

我的ac记录是通过特殊方法弄出来的

2024/11/19 21:25
加载中...