結果
問題 | No.1957 Xor Min |
ユーザー |
|
提出日時 | 2022-05-28 02:14:02 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,376 bytes |
コンパイル時間 | 2,035 ms |
コンパイル使用メモリ | 195,256 KB |
最終ジャッジ日時 | 2025-01-29 16:31:52 |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 |
ソースコード
#include <bits/stdc++.h>//#include <atcoder/all>//using namespace atcoder;using namespace std;using ll = long long;using vll = vector<ll>;using vvll = vector<vll>;using vvvll = vector<vvll>;#define all(A) A.begin(),A.end()#define rep(i, n) for (ll i = 0; i < (ll) (n); i++)using pqr = priority_queue<pair<ll, ll>, vector<pair<ll, ll>>, greater<pair<ll, ll>>>;bool chmax(ll& p, ll q) {if (p < q) {p = q;return 1;}else {return 0;}}bool chmin(ll& p, ll q) {if (p > q) {p = q;return 1;}else {return 0;}}ll gcd(ll(a), ll(b)) {ll c = a;while (a % b != 0) {c = a % b;a = b;b = c;}return b;}void warshall_floyd(int n, vvll& d) {for (int k = 0; k < n; k++) { // 経由する頂点for (int i = 0; i < n; i++) { // 始点for (int j = 0; j < n; j++) { // 終点d[i][j] = min(d[i][j], d[i][k] + d[k][j]);}}}}int main() {cin.tie(nullptr);ios::sync_with_stdio(false);ll N,M;cin>>N>>M;if(N>M)swap(N,M);ll a=1,b=1;ll P=N;while(P>0){P/=2;a*=2;}P=M;while(P>0){P/=2;b*=2;}if(a<b){cout<<N<<endl;}else cout<<b/2-1<<endl;}