Menu
Coddy logo textTech

Znajdź minimalną sumę

Lekcja 17 z 17 w kursie Operacje bitowe w Coddy.

challenge icon

Wyzwanie

Średni

Dany 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