Antecedentes
Una secuencia de conjunto ex-creciente de orden se define como una secuencia de conjuntos enteros que satisface lo siguiente:
- Cada es un subconjunto no vacío de . { 1 , 2 , ⋯ , N }
- Para , , es decir, dos conjuntos consecutivos no tienen elementos en común.S i ∩ S i + 1 = ∅
- Para , la media (valor promedio) de es estrictamente menor que la de .S i S i + 1
Desafío
Dado un número entero positivo N, genera la longitud de la secuencia de orden de conjunto ex-creciente más larga N.
Casos de prueba
Estos se basan en los resultados del usuario de Project Euler thundre .
1 => 1 // {1}
2 => 2 // {1} {2}
3 => 3 // {1} {2} {3}
4 => 5 // {1} {2} {1,4} {3} {4}
5 => 7 // {1} {2} {1,4} {3} {2,5} {4} {5}
6 => 10 // {1} {2} {1,4} {3} {1,4,5} {2,3,6} {4} {3,6} {5} {6}
7 => 15 // {1} {2} {1,4} {3} {1,2,7} {3,4} {1,2,5,7} {4} {1,3,6,7} {4,5} {1,6,7} {5} {4,7} {6} {7}
8 => 21
9 => 29
10 => 39
11 => 49
12 => 63
13 => 79
14 => 99
15 => 121
16 => 145
17 => 171
18 => 203
19 => 237
20 => 277
21 => 321
22 => 369
23 => 419
24 => 477
25 => 537
Reglas
Se aplican reglas estándar de código de golf . El envío válido más corto en bytes gana.
Generosidad
Este problema se discutió aquí en el foro del Proyecto Euler hace aproximadamente 4 años, pero no se nos ocurrió un algoritmo de tiempo polinómico demostrable (en términos de N). Por lo tanto, otorgaré una recompensa de +200 a la primera presentación que logre esto, o probaré su imposibilidad.