Trova la somma minima
Lezione 17 di 17 del corso Manipolazione dei bit di Coddy.
Sfida
MedioTi viene dato un array <strong>a</strong> di dimensione <strong>n</strong>.
Puoi eseguire la seguente operazione sull'array:
- Scegli due interi diversi
<strong>i</strong>,<strong>j</strong>(1 ≤ i < j ≤ n), sostituisci<strong>a<sub>i</sub></strong>con<strong>x</strong>e<strong>a<sub>j</sub></strong>con<strong>y</strong>. Per non alterare l'array, deve essere soddisfatta la condizione<strong>a<sub>i </sub>| a<sub>j </sub>= x | y</strong>, dove<strong>|</strong>indica l'operazione OR bit a bit. Nota che<strong>x</strong>e<strong>y</strong>sono interi non negativi.
Stampa la somma minima che puoi ottenere nell'array dopo aver eseguito l'operazione precedente un numero qualsiasi di volte.
Provalo tu
#include <vector>
using namespace std;
int FindMinSum(vector<int> a) {
// Scrivi il codice qui
}Tutte le lezioni di Manipolazione dei bit
Esercitati da solo: Compilatore C++ online