情况一定要考虑全面了…

懵逼的 题目

扯淡的 题解

先说结论, 如果a[i] xor a[i - 1]的最高的1是a[i]贡献的, 那么S的这一位一定要是0, 否则一定是1, 然后这对数就可以直接略过去了

显然吧…这玩意…

沙茶的 代码

#include <iostream>
#include <cstdio>
#include <cstring>
#define MAXN (50 + 5)
#define MAXL (60 + 5)
#define LL long long
using namespace std;
int n;
LL a[MAXN], ans = 1ll << 60;
bool vis[MAXL];
int main()
{
    memset(vis, false, sizeof(vis));
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
    {
        scanf("%lld", &a[i]);
        for (int j = 60; j >= 0; j--)
            if ((a[i] ^ a[i - 1]) & (1ll << j))
            {
                vis[j] = true;
                break;
            }
    }
    for (int i = 0; i <= 60; i++)
        if (vis[i])
            ans >>= 1;
    printf("%lld", ans);
    return 0;
}

By 联赛钦定爆零的 Cansult