Menu
Coddy logo textTech

Trova la somma minima

Lezione 17 di 17 del corso Manipolazione dei bit di Coddy.

challenge icon

Sfida

Medio

Ti 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