Problem: 2057C - Trip to the Olympiad
Language: C++23 (GCC 14-64, msys2)

Previous submission (verdict: Wrong answer on test 1):
/* === INCLUDES === ---------------------------------------------------------- */
#include <algorithm>
#include <bitset>
#include <cmath>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <stack>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
using namespace std;

/* === UTILITY === ----------------------------------------------------------- */
#ifdef _LOCAL_
#define SHOW(x)                                                                                                        \
        {                                                                                                              \
                cerr << "[" #x "]: " << (x) << "\n";                                                                   \
        }
#define SHOW_EACH(x)                                                                                                   \
        {                                                                                                              \
                bool _head = true;                                                                                     \
                cerr << "[" #x "]: {";                                                                                 \
                for (auto _iter : (x)) {                                                                               \
                        if (_head) {                                                                                   \
                                _head = false;                                                                         \
                        } else {                                                                                       \
                                cerr << ", ";                                                                          \
                        }                                                                                              \
                        cerr << _iter;                                                                                 \
                }                                                                                                      \
                cerr << "}" << "\n";                                                                                   \
        }
#define SHOW_RANGE(x, l, r)                                                                                            \
        {                                                                                                              \
                bool _head = true;                                                                                     \
                cerr << "[" #x "]: {";                                                                                 \
                for (auto _iter = (l); _iter <= (r); ++_iter) {                                                        \
                        if (_head) {                                                                                   \
                                _head = false;                                                                         \
                        } else {                                                                                       \
                                cerr << ", ";                                                                          \
                        }                                                                                              \
                        cerr << (x)[_iter];                                                                            \
                }                                                                                                      \
                cerr << "}" << "\n";                                                                                   \
        }
#else
#define SHOW(x)
#define SHOW_EACH(x)
#define SHOW_RANGE(x, l, r)
#endif    // _LOCAL_

/* === MACROS === -------------------------------------------------------------*/
#define FASTIO                                                                                                         \
        ios::sync_with_stdio(false);                                                                                   \
        cin.tie(0), cout.tie(0)
#define MULTICASE                                                                                                      \
        int _T;                                                                                                        \
        cin >> _T;                                                                                                     \
        while (_T--)
#define LL long long
#define IMAX 2147483647
#define LLMAX 9223372036854775807LL
#define endl "\n"

////////////////////////////////// ┏━━━━━━━━━┓ //////////////////////////////////
////////////////////////////////// ┣━╸ ┏━━━╸ ┃ //////////////////////////////////
////////////////////////////////// ┃ ┏━┻━━━━━┫ //////////////////////////////////
////////////////////////////////// ┃ ┣━━━━━╸ ┃ //////////////////////////////////
////////////////////////////////// ┃ ┃ ╺━━━━━┫ //////////////////////////////////
////////////////////////////////// ┣━┻━━━━━┳━┫ //////////////////////////////////
////////////////////////////////// ┃ ╻ ╻ ╺━┫ ┃ //////////////////////////////////
////////////////////////////////// ┣━╋━╋━┳━┫ ┃ //////////////////////////////////
////////////////////////////////// ┃ ╹ ╹ ┃ ┃ ┃ //////////////////////////////////
////////////////////////////////// ┃ ╻ ╻ ┃ ┃ ┃ //////////////////////////////////
////////////////////////////////// ┣━┻━┻━┻━┻━┫ //////////////////////////////////
////////////////////////////////// ┣━╸ ╺┳╸ ╺━┫ //////////////////////////////////
////////////////////////////////// ┣━╸ ╺┻╸ ╺━┫ //////////////////////////////////
////////////////////////////////// ┣━┳━┳━┳━┳━┫ //////////////////////////////////
////////////////////////////////// ┣━┛ ┗━┛ ┗━┫ //////////////////////////////////
////////////////////////////////// ┣━━━━━━━━━┫ //////////////////////////////////
////////////////////////////////// ┣╸ ╺━━━╸ ╺┫ //////////////////////////////////
////////////////////////////////// ┣━━━┓ ┏━━━┫ //////////////////////////////////
////////////////////////////////// ┃ ╻ ╹ ╹ ╻ ┃ //////////////////////////////////
////////////////////////////////// ┣━┻━━━━━┻━┫ //////////////////////////////////
////////////////////////////////// ┣━━━╸ ┏━━━┫ //////////////////////////////////
////////////////////////////////// ┃ ╺━━━┛ ╻ ┃ //////////////////////////////////
////////////////////////////////// ┗━━━━━━━┻━┛ //////////////////////////////////



int l, r;

void ChromicChlorideHexahydrate()
{
        cin >> l >> r;
        int b = 0;
        // bool flip = false;
        for (int bit = 30; bit >= 0; bit--) {
                if (((l >> bit) & 1) != ((r >> bit) & 1)) {
                        // flip = true;
                        b += (1 << bit);
                        break;
                } else {
                        b += (((l >> bit) & 1) << bit);
                }
                // if (flip) {
                //         b ^= (1 << bit);
                // }
        }
        cout << b - 1 << ' ' << b << " " << (b + 1 <= r ? b + 1 : b - 2) << endl;
        // cout << "xor=" << (a ^ b) << endl;
        // cout << "res=" << (a ^ b) + ((a + 1) ^ b) + ((a + 1) ^ a) << endl;
}

signed main()
{
        FASTIO;
        MULTICASE ChromicChlorideHexahydrate();
}

Submission (verdict: Wrong answer on test 1):
#include<bits/stdc++.h>
using namespace std;
int main()
{int t;
    cin>>t;
    while(t--)
    {int le[31];
        int re[31];
        int third[31];
        for(int i=0;i<31;i=i+1)le[i]=re[i]=third[i]=0;
        int l,r;
    cin>>l>>r;
    int i=30;
    int point;
    for(int j=l;j>0;j=j/2){le[i]=j%2;i--;}
    i=30;
    for(int j=r;j>0;j=j/2){re[i]=j%2;i--;}
    for(int k=0;k<31;k=k+1){if(le[k]!=re[k]){point=k;break;}else third[k]=le[k];}
    int careful=0;
    for(int k=point;k<31;k=k+1)
    {if(careful==0){if(re[k]==1 && le[k]==0)third[k]=0;
      else  if(re[k]==0 && le[i]==0){third[k]=1;careful=1;}
      else if(re[k]==0 && le[k]==1)third[k]=1;
      else if(re[k]==1 && le[k]==1){re[k]=0;third[k]=1;}}
      else{
        if(re[k]==0)third[k]=1;
        else third[k]=0;
      }}
      long long int num1,num2;
      int v=0;
      for(int i=0;i<31;i=i+1)if(v==0){if(re[i]==0)num1=0;else {num1=1;v=1;}}
      else {
        if(re[i]==0)num1*=2;else num1=num1*2+1;
      }
       v=0;
      for(int i=0;i<31;i=i+1)if(v==0){if(third[i]==0)num2=0;else {num2=1;v=1;}}
      else {
        if(third[i]==0)num2*=2;else num2=num2*2+1;
      }
cout<<num1<<' '<<num2<<' ';
for(int k=l;k<=r;k=k+1)if(k!=num1 && k!=num2){cout<<k<<endl;break;}
}}