为什么10分了呀?
#include <bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
const int inf=0x3f3f3f3f;
ll n,m,c,k,wmy,gu=1;
ll s[70];
int main(){
freopen("zoo.in","r",stdin);
freopen("zoo.out","w",stdout);
scanf("%lld%lld%lld%lld",&n,&m,&c,&k);
for(int i=0;i<n;i++){
ll a=0;
scanf("%lld",&a);
wmy=(wmy|a);
}
s[0]=1;
for(int i=1;i<=c;i++){
s[i]=s[i-1]*2;
}
for(int i=0;i<m;i++){
ll a=0,b=0;
scanf("%lld%lld",&a,&b);
if((wmy|s[a])!=wmy){
wmy=(wmy|s[a]);
gu++;
}
}
cout<<s[c-gu]-n;
return 0;
}