Nascondere scatole

Date n scatole, l’obiettivo è quello di nascondere il maggior numero possibile di scatole all’interno di altre. Ci sono alcune regole da seguire:

  1. È possibile collocare una scatola più piccola dentro un’altra più grande soltanto se quest’ultima ha dimensioni almeno doppie rispetto alla prima.

  2. In ogni scatola può essere inserita al massimo un’unica scatola (nessuna scatola può contenerne due o più).

31D2hTX7j4L._SX342_.jpg

Alla fine, qual è il numero minimo di scatole visibili?

Dati in ingresso

La prima riga dell’input contiene un singolo intero n (1 ≤ n ≤ ), che rappresenta il numero di scatole.

La riga successiva contiene n interi separati da spazio (1 ≤ ), che indicano la dimensione di ciascuna scatola.

Dati in uscita

Il programma deve stampare il numero minimo possibile di scatole visibili alla fine.

Esempi

Ingresso

Uscita

8
7 5 2 6 4 8 9 2

5

8
3 1 8 2 6 5 6 9

5

Spiegazione

  1. 7 5 2 6 4 8 9 2 → (2, 5) (2, 6) (7) (4, 8) (9)

  2. 3 1 8 2 6 5 6 9 → 1 2 3 5 6 6 8 9 → (1, 5) (2, 6) (3, 6) (8) (9)

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue