提出 #61176742


ソースコード 拡げる

#include <bits/stdc++.h> 
using namespace std;
#define ll long long
#define pii pair<ll,ll>
#define vi vector<ll>
#define vb vector<bool> 
#define vvi vector<vi>
#define vpii vector<pii>
#define vvpii vector<vpii>
#define F first
#define S second
#define pb push_back
#define all(v) v.begin(),v.end()
#define fr(i, begin, end) for (__typeof(begin) i = (begin); i != (end) + ((begin) > (end) ? -1 : 1) ; (begin) > (end) ? i-- : i++)
#define rep(i,n) for(int i=0; i<n; i++)
#define ret(msg) {cout << msg << endl; return;}
#define prt(a) cout << a << endl;
#define prt1(a) cout << a << " ";
#define prt2(a,b) cout << a << " " << b << endl;
#define popcnt(x) __builtin_popcountll(x)
#define uniq(s) s.erase(unique(s.begin(),s.end()),s.end())
#define mod 1000000007
#define MOD 998244353

/*ll N = 1e5 + 5;
vi fact(N+5, 1);
vb prime(N + 5, true);

void add_divs(int x, unordered_map<int, int>&divs){
    int i = 2;
    while(i * i <= x){
        while (x % i == 0){
            divs[i]++;
            x /= i;
        }
        i++;
    }
    if(x > 1) divs[x]++;
}

ll exp(ll a, ll b, ll m) {
    ll r=1, pwr=a%m;
    while(b) {
        if(b&1) {
            r *= pwr;
            r %= m;
        }
        pwr *= pwr;
        pwr %= m;
        b >>= 1;
    }
    return r;
}


ll mod_inv(ll b, ll m=mod) {
    return exp(b, m-2, m);
}

void doo() {
    for(ll i=2; i<=N; i++) {
        fact[i] = fact[i-1] * i;
        fact[i] %= mod;
    }
}

void SOE(ll n){
    for (ll i = 2; i*i <= n;i++){
        if ( prime[i] == true){
            for( ll p = i*i; p <=n; p+= i){
                prime[p] = false;
            }
        }
    }
}

ll nCr(ll n, ll r){
    ll t1 = n - r;
    if( t1 < 0)return 0;
    ll temp = (fact[n]*mod_inv(fact[r]))%mod;
    temp = (temp * mod_inv(fact[t1]))%mod;
    return temp;
}*/

void comb(vi &v, ll i, ll left, ll &ans, ll n, ll temp){
    if(left == 0){
        ans = max(ans, temp);
        return;
    }

    if(n - i == left){
        for(ll j = i; j < n;j++){
            temp ^= v[j];
        }
        ans = max(ans, temp);
        return;
    }

    comb(v, i + 1, left, ans, n, temp);
    temp ^= v[i];
    comb(v, i + 1, left - 1, ans, n, temp);
}

void solve(){
    ll n, k;
    cin >> n >> k;
    vi v(n);
    rep(i, n)cin >> v[i];
    ll ans = 0;
    comb(v, 0, k, ans, n, 0);
    ret(ans);
}


int32_t main() {
    //doo();
    //SOE(N);
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    int t=1;
    //cin >> t;
    /*if(t == 100){
        while(t--){
            ll l, r, g;
            cin >> l >> r >> g;
            if(t == 100 - 49){
                cout << l << " " << r << " " << g << endl;
            }
        }
    }else {*/
    while(t--) {
        solve();
    }
    //}
}

提出情報

提出日時
問題 E - Maximize XOR
ユーザ MUI1344
言語 C++ 23 (gcc 12.2)
得点 0
コード長 2869 Byte
結果 TLE
実行時間 2207 ms
メモリ 20164 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 500
結果
AC × 2
AC × 46
TLE × 2
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt, 01_test_45.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 3448 KiB
00_sample_01.txt AC 1 ms 3452 KiB
01_test_00.txt AC 12 ms 10108 KiB
01_test_01.txt AC 26 ms 20164 KiB
01_test_02.txt TLE 2207 ms 4664 KiB
01_test_03.txt TLE 2207 ms 4740 KiB
01_test_04.txt AC 6 ms 3488 KiB
01_test_05.txt AC 11 ms 3584 KiB
01_test_06.txt AC 28 ms 3516 KiB
01_test_07.txt AC 207 ms 3536 KiB
01_test_08.txt AC 1 ms 3412 KiB
01_test_09.txt AC 9 ms 3480 KiB
01_test_10.txt AC 1 ms 3392 KiB
01_test_11.txt AC 24 ms 3604 KiB
01_test_12.txt AC 1 ms 3456 KiB
01_test_13.txt AC 7 ms 3412 KiB
01_test_14.txt AC 1 ms 3388 KiB
01_test_15.txt AC 9 ms 3472 KiB
01_test_16.txt AC 1 ms 3424 KiB
01_test_17.txt AC 5 ms 3524 KiB
01_test_18.txt AC 1 ms 3400 KiB
01_test_19.txt AC 6 ms 3460 KiB
01_test_20.txt AC 3 ms 3460 KiB
01_test_21.txt AC 4 ms 3408 KiB
01_test_22.txt AC 1 ms 3372 KiB
01_test_23.txt AC 5 ms 3448 KiB
01_test_24.txt AC 1 ms 3348 KiB
01_test_25.txt AC 4 ms 3412 KiB
01_test_26.txt AC 2 ms 3308 KiB
01_test_27.txt AC 5 ms 3372 KiB
01_test_28.txt AC 1 ms 3456 KiB
01_test_29.txt AC 3 ms 3400 KiB
01_test_30.txt AC 4 ms 3456 KiB
01_test_31.txt AC 4 ms 3384 KiB
01_test_32.txt AC 1 ms 3404 KiB
01_test_33.txt AC 3 ms 3452 KiB
01_test_34.txt AC 1 ms 3456 KiB
01_test_35.txt AC 4 ms 3384 KiB
01_test_36.txt AC 2 ms 3368 KiB
01_test_37.txt AC 3 ms 3456 KiB
01_test_38.txt AC 1 ms 3472 KiB
01_test_39.txt AC 3 ms 3388 KiB
01_test_40.txt AC 1 ms 3384 KiB
01_test_41.txt AC 3 ms 3432 KiB
01_test_42.txt AC 1 ms 3448 KiB
01_test_43.txt AC 3 ms 3408 KiB
01_test_44.txt AC 1 ms 3464 KiB
01_test_45.txt AC 18 ms 4492 KiB