結果

問題 No.3444 Interval Xor MST
コンテスト
ユーザー GOTKAKO
提出日時 2026-02-07 02:29:47
言語 C++17
(gcc 15.2.0 + boost 1.89.0)
結果
WA  
実行時間 -
コード長 948 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,832 ms
コンパイル使用メモリ 211,792 KB
実行使用メモリ 7,972 KB
最終ジャッジ日時 2026-02-07 02:29:53
合計ジャッジ時間 4,368 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 1 WA * 6
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <bits/stdc++.h>
using namespace std;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int T; cin >> T;
    while(T--){
        long long N,M; cin >> N >> M;
        long long p2 = 1;
        long long answer = 0;
        for(int d=1; d<34; d++){
            long long d2 = 1LL<<d;
            long long l = M/d2,r = (M+N-1)/d2;
            long long L = M,R = N+M-1;
            if(l == r){
                d2 >>= 1;
                if((L&d2) != (R&d2)){
                    answer += d2,L %= d2,R %= d2;
                    while(L > R) d2 >>= 1,answer += d2,L %= d2,R %= d2;
                }
                break;
            }
            answer += (r-l-1)*(d2>>1);
            L = M,R = (l+1)*d2-1;
            if((L&(d2>>1)) != (R&(d2>>1))) answer += (d2>>1);
            L = r*d2,R = M+N-1;
            if((L&(d2>>1)) != (R&(d2>>1))) answer += (d2>>1);
        }
        cout << answer << "\n";
    }
}
0