75分求助
查看原帖
75分求助
37084
Yemaster楼主2020/11/8 19:54

WA了#13,#14,#15,#16,#19

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define RI register int
#define ULL unsigned long long
using namespace std;

int main() {
    int n, m, c, k;
    scanf("%d%d%d%d", &n, &m, &c, &k);
    ULL ans = 0;
    ULL ask = 0;
    for (RI i = 1; i <= n; ++i) {
        ULL a;
        cin >> a;
        ans = ans | a;
    }
    for (RI i = 1; i <= m; ++i) {
        int p, q;
        scanf("%d%d", &p, &q);
        ask = ask | (1 << p);
    }
    ULL res = ask & ans;
    int cnt = 0;
    int q;
    ULL answer = 1;
    int sign = 0;
    while (k--) { 
        if ((ask % 2) == 1 && (ans % 2) == 0)
            answer = answer;
        else 
            if ((answer << 1) == 0)
                sign = 1;
            else answer <<= 1;
        ans >>= 1;
        ask >>= 1;
    }
    if (sign && n != 0)
        answer = (answer - n) * 2 + n;
    else if (!sign)
        answer = answer - n;
    if (sign && n == 0)
        cout << 184467440 << 73709551616;
    else
        cout << answer;
    return 0;
}
2020/11/8 19:54
加载中...