CSP-S T2 90分求助
查看原帖
CSP-S T2 90分求助
89551
狂拽酷炫吊楼主2020/11/8 13:41

不知道为什么WA了,极限数据也用double过掉了,数据点我下不了

#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define ls p<<1
#define rs p<<1|1
#define debug puts("debug");
const int M=1e6+5,P=1e9+7,base=269;
bool aaaa;
int n,m,k,c,mark[65];
unsigned long long hv,A[M],B[70];
bool bbbb;
int main(){
//	cout<<((&bbbb)-(&aaaa))/1024.0/1024.0<<endl;
	freopen("zoo.in","r",stdin);
	freopen("zoo.out","w",stdout);
	int a,b;
	B[0]=1;
	scanf("%d%d%d%d",&n,&m,&c,&k);
	for(int i=1;i<k;++i)B[i]=B[i-1]*2;
	for(int i=1;i<=n;++i){
		scanf("%llu",&A[i]);
		hv|=A[i];
	}	
	for(int i=1;i<=m;++i){
		scanf("%d%d",&a,&b);
		mark[a]=1;
	}
	for(int i=0;i<k;++i)
		if(!mark[i])hv|=B[i];
	double ans=1;
	for(int i=0;i<k;++i){
		if(hv&B[i])ans*=2;
	}
	printf("%.0lf",ans-n);
	return 0;
}

2020/11/8 13:41
加载中...