/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 536.0 KiB
#3 Wrong Answer 1ms 532.0 KiB
#4 Accepted 21ms 1.121 MiB
#5 Accepted 4ms 680.0 KiB
#6 Accepted 25ms 1.434 MiB
#7 Accepted 14ms 1.164 MiB
#8 Accepted 18ms 1.129 MiB
#9 Accepted 26ms 1.453 MiB
#10 Accepted 27ms 1.762 MiB
#11 Accepted 26ms 1.645 MiB
#12 Accepted 17ms 1.129 MiB
#13 Accepted 33ms 1.629 MiB
#14 Accepted 33ms 1.531 MiB
#15 Accepted 33ms 1.434 MiB
#16 Accepted 33ms 1.621 MiB
#17 Accepted 32ms 1.523 MiB
#18 Accepted 32ms 1.434 MiB
#19 Accepted 32ms 1.434 MiB
#20 Accepted 33ms 1.434 MiB
#21 Accepted 27ms 1.438 MiB
#22 Accepted 26ms 1.508 MiB
#23 Accepted 17ms 1.43 MiB
#24 Accepted 21ms 1.637 MiB
#25 Accepted 23ms 1.566 MiB
#26 Wrong Answer 1ms 316.0 KiB
#27 Wrong Answer 1ms 552.0 KiB

Code

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

#define ll unsigned long long
#define endl '\n'
const int N = 1e6+4;

void solve(int cs){
    int n;cin>>n;
    ll k;cin>>k;
    std::vector<ll>v ;
    
    int bit[50] = {0};
    for(int i = 0; i < n; i++){
        ll a;cin>>a;
        v.push_back(a);
        for(int j = 0; j < 46; j++){
            if((a&(1ll<<j)))bit[j]++;
        }
    }
    //cout<<(3&4) <<" "<<(1&4) <<" "<<(6&4)<<endl;
    //cout<<bit[2]<<endl;
    ll ans = 0;
    ll tm = 0;
    for(int i = 45; i>=0; i--){
        int unset = n-bit[i];
        
        if(bit[i] < unset){
            if((tm|(1ll<<i)) <= k){
                tm |= (1ll<<i);
            }
        }
    }
    if(tm == 0)tm = 1;
    for(auto u:v){
        ans += (u^tm);
    }
    cout<<ans<<endl;
}
   
int main()
{

    ios_base::sync_with_stdio(false);cin.tie(0);
    int t=1,cs=0;
    //cin >> t;
    while(t--)
    {
        solve(++cs);
    }

    return 0;
}

Information

Submit By
Type
Submission
Problem
P1054 Yet another challenge for Roy!
Contest
Brain Booster #3
Language
C++20 (G++ 13.2.0)
Submit At
2024-05-06 17:34:11
Judged At
2024-10-03 13:48:27
Judged By
Score
97
Total Time
33ms
Peak Memory
1.762 MiB