小丑"/>
【bitmask】推理小丑
C-推理小丑_牛客练习赛101(重现赛)@yinwuxxx (nowcoder)
wr啊,看半天了还不懂
先挂着慢慢看吧QwQ
题意:
思路:
Code:
#include <bits/stdc++.h>
#define int long long
using namespace std;const int N = 100010;int n , a[N];inline int read()
{int asd = 0 , qwe = 1; char zxc;while(!isdigit(zxc = getchar())) if(zxc == '-') qwe = -1;while(isdigit(zxc)) asd = asd * 10 + zxc - '0' , zxc = getchar();return asd * qwe;
}signed main()
{n = read();for(int i = 1;i <= n;i++)a[i] = read();int ans = 0;for (int j = 30; j >= 0; j--){int now = ans;for (int k = j - 1; k >= 0; k--){bool flag = 0;now |= 1 << k;for (int i = 1; i < n; i++)if ((a[i] & now) > (a[i + 1] & now)){flag = 1;break;}if (flag) now ^= 1 << k;}bool flag = 0;for (int i = 1; i < n; i++)if ((a[i] & now) >= (a[i + 1] & now)){flag = 1;break;}if (flag) ans |= (1 << j);}cout << ans << endl;return 0;
}
更多推荐
【bitmask】推理小丑
发布评论