/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 540.0 KiB
#2 Accepted 2ms 340.0 KiB
#3 Accepted 2ms 332.0 KiB
#4 Wrong Answer 58ms 1008.0 KiB
#5 Wrong Answer 9ms 600.0 KiB
#6 Wrong Answer 72ms 1.086 MiB
#7 Accepted 40ms 860.0 KiB
#8 Accepted 52ms 844.0 KiB
#9 Accepted 75ms 1.125 MiB
#10 Accepted 77ms 1.148 MiB
#11 Accepted 72ms 1.121 MiB
#12 Accepted 49ms 940.0 KiB
#13 Wrong Answer 95ms 1.297 MiB
#14 Wrong Answer 96ms 1.293 MiB
#15 Wrong Answer 94ms 1.289 MiB
#16 Wrong Answer 92ms 1.293 MiB
#17 Accepted 94ms 1.285 MiB
#18 Accepted 93ms 1.285 MiB
#19 Accepted 91ms 1.293 MiB
#20 Accepted 91ms 1.289 MiB
#21 Accepted 76ms 1.156 MiB
#22 Accepted 70ms 1.121 MiB
#23 Wrong Answer 100ms 1.293 MiB
#24 Accepted 56ms 1.289 MiB
#25 Wrong Answer 97ms 1.289 MiB
#26 Wrong Answer 2ms 328.0 KiB
#27 Wrong Answer 2ms 772.0 KiB

Code

#include <iostream>
#include <vector>
using namespace std;

long long m(vector<long long>& a, long long k) {
    long long m_f = 0;
    long long mask = 1LL << 60;
    
    while (mask > 0) {
        long long c_1 = 0;
        for (long long a_val : a) {
            if (a_val & mask)
                c_1++;
        }
        
        if ((k & mask) && c_1 <= a.size() - c_1) {
            m_f |= mask;
        }
        
        mask >>= 1;
    }
    
    long long result = 0;
    for (long long a_val : a) {
        result += a_val ^ m_f;
    }
    
    return result;
}

int main() {
    int n;
    long long k;
    cin >> n >> k;
    
    vector<long long> a(n);
    for (int i = 0; i < n; ++i) {
        cin >> a[i];
    }
    
    cout << m(a, k) << endl;
    
    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 15:50:26
Judged At
2024-10-03 13:51:25
Judged By
Score
60
Total Time
100ms
Peak Memory
1.297 MiB