我 h a c k 我 自 己
查看原帖
我 h a c k 我 自 己
934924
nr0628楼主2023/10/13 17:02

hack:

input:

1 0 1 64
1

output:

18446744073709551615

wrong output:

18446744073709551616

hack @nr0728 的代码(没错就是我自己):

#include<bits/stdc++.h>
#define rep(i,a,b,c) for(ull i=a;i<=b;i+=c)
#define N 1000005
using namespace std;
typedef unsigned long long ull;
ull n,m,c,k,sl,bx;
ull a[N],p[N],q[N];
bool vis[70];
ull sum;
int main()
{
// 	freopen("zoo.in","r",stdin);
// 	freopen("zoo.out","w",stdout);
	scanf("%llu%llu%llu%llu",&n,&m,&c,&k);
	rep(i,1,n,1)
	{
		scanf("%llu",&a[i]);sl|=a[i];
	}
	rep(i,1,m,1)
	{
		scanf("%llu%llu",&p[i],&q[i]);
		bx|=1ull<<p[i];
	}
	rep(i,0,k-1,1)
	{
	    if(!((bx>>i)&1ull)||(sl>>i)&1ull) sum++;
	}
	if(sum==64) cout<<((ull)-1)/10<<((ull)-1)%10+1;
	else printf("%llu\n",(1ull<<sum)-n);
	return 0;
}
2023/10/13 17:02
加载中...