結果

問題 No.3219 Ruler to Maximize
ユーザー ゼリトキ
提出日時 2025-08-01 21:41:17
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 995 bytes
コンパイル時間 2,960 ms
コンパイル使用メモリ 277,548 KB
実行使用メモリ 7,720 KB
最終ジャッジ日時 2025-08-01 21:41:25
合計ジャッジ時間 7,509 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 2 WA * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (ll i = 0; i < (ll)(n); i++)
#define ll long long
const long long mod=998244353;
const long long hmod=46216567629137;
int main(){
    cin.tie(0)->sync_with_stdio(0);
    cout.tie(0);
    int N;
    cin>>N;
    int A[N+1];
    for(int i=1;i<=N;i++) cin>>A[i];
    int bits[20];
    for(int i=0;i<20;i++) bits[i]=0;
    for(int i=1;i<=N;i++){
        int wari=1;
        rep(j,15){
            if((A[i]/wari)%2==1) bits[j]=1;
            wari*=2;
        }
    }
    int maximum=0;
    for(int i=0;i<20;i++){
        if(bits[i]) maximum=i;
    }
    int wari=1;
    for(int i=1;i<=maximum;i++) wari*=2;
    char ans[N+1];
    ll cnt=0;
    ll cnt2=0;
    for(int i=1;i<=N;i++){
        if((A[i]/wari)%2==1){
            ans[i]='W';
            cnt|=A[i];
        }
        else{
            ans[i]='B';
            cnt2|=A[i];
        }
    }
    cout<<cnt*cnt2<<"\n";
    for(int i=1;i<=N;i++) cout<<ans[i];
    cout<<"\n";
}   
0