Menu
CoddyTech

Tìm tổng nhỏ nhất

Bài học 17 trên 17 trong khóa học Thao tác bit của Coddy.

challenge icon

Thử thách

Trung bình

Bạn được cho một mảng <strong>a</strong> có kích thước <strong>n</strong>.

Bạn có thể thực hiện thao tác sau trên mảng:

  • Chọn hai số nguyên khác nhau <strong>i</strong> , <strong>j</strong> (1 ≤ i < j ≤ n), thay <strong>a<sub>i</sub></strong> bằng <strong>x</strong> và <strong>a<sub>j</sub></strong> bằng <strong>y</strong>. Để không làm hỏng mảng, điều kiện <strong>a<sub>i </sub>| a<sub>j </sub>= x | y</strong> phải được giữ nguyên, trong đó <strong>|</strong> biểu thị phép OR theo bit. Lưu ý rằng <strong>x</strong> và <strong>y</strong> là các số nguyên không âm.

Hãy in ra tổng nhỏ nhất có thể đạt được của mảng sau khi thực hiện thao tác trên tùy ý số lần.

Tự làm thử

#include <vector>
using namespace std;

int FindMinSum(vector<int> a) {
    // Viết code ở đây
}

Tất cả bài học trong Thao tác bit

Tự luyện tập: Trình biên dịch C++ online