Znajdź minimalną sumę
Lekcja 17 z 17 w kursie Operacje bitowe w Coddy.
Wyzwanie
ŚredniDany jest ciąg <strong>a</strong> o rozmiarze <strong>n</strong>.
Na ciągu możesz wykonać następującą operację:
- Wybierz dwie różne liczby całkowite
<strong>i</strong>,<strong>j</strong>(1 ≤ i < j ≤ n), zastąp<strong>a<sub>i</sub></strong>wartością<strong>x</strong>, a<strong>a<sub>j</sub></strong>wartością<strong>y</strong>. Aby nie naruszyć warunków dotyczących ciągu, musi być spełniony warunek<strong>a<sub>i </sub>| a<sub>j </sub>= x | y</strong>, gdzie<strong>|</strong>oznacza operację bitową OR. Zauważ, że<strong>x</strong>i<strong>y</strong>są nieujemnymi liczbami całkowitymi.
Wypisz minimalną sumę elementów ciągu, jaką możesz uzyskać, wykonując powyższą operację dowolną liczbę razy.
Spróbuj swoich sił
#include <vector>
using namespace std;
int FindMinSum(vector<int> a) {
// Wpisz tutaj kod
}Wszystkie lekcje w sekcji Operacje bitowe
Poćwicz samodzielnie: Kompilator C++ online