Nel booklet dello scorso anno è spiegata una soluzione che sfrutta la struttura del fenwick tree, ma viene accennato che esiste una seconda soluzione basata su un algoritmo simile al merge sort.
Non me la cavo molto bene con gli algoritmi di ordinamento, se qualcuno ha già implementato questa seconda soluzione mi piacerebbe che me la spiegasse .
Io in genere se si presenta un problema di ordinamento provo il quicksort e il quick select e vedo quale prende più punti, sfruttando la libreria algorithm, per il resto ho le idee un po’ confuse… so che il merge consiste nel dividere un vettore di elementi a metà più volte, e questa in effetti è un analogia col range tree, ho già capito che per questo problema i numeri di posto pari e dispari vanno considerati separatamente (sono arrivato ad una soluzione da 48 punti senza usare strutture dati particolari), poi quando si arriva ad avere il vettore dei pari o dei dispari spezzato in pezzi singoli non mi è ben chiaro cosa fare.
Grazie in anticipo!