El llamado fenómeno de Will Rogers describe una forma de ajustar las estadísticas elevando el promedio en dos (múltiples) conjuntos cuando un elemento se mueve entre los dos conjuntos. Como un ejemplo simple, considere los dos conjuntos
A = {1, 2, 3}
B = {4, 5, 6}
Sus medios aritméticos son 2
y 5
, respectivamente. Si movemos el 4
a A
:
A = {1, 2, 3, 4}
B = {5, 6}
Ahora los promedios son 2.5
y 5.5
, respectivamente, por lo que ambos promedios se han elevado mediante una simple reagrupación.
Como otro ejemplo, considere
A = {3, 4, 5, 6} --> A = {3, 5, 6}
B = {2, 3, 4, 5} --> B = {2, 3, 4, 4, 5}
Por otro lado, no es posible aumentar ambos promedios para los conjuntos
A = {1, 5, 9}
B = {4, 5, 7, 8}
El reto
Dadas dos listas de enteros no negativos, determine si es posible aumentar ambos promedios moviendo un solo entero de una lista a la otra.
El promedio de una lista vacía no está definido, por lo que si una de las listas contiene solo un elemento, este elemento no se puede mover.
Puede escribir un programa o función, tomando entrada a través de STDIN (o la alternativa más cercana), argumento de línea de comando o argumento de función y generando el resultado a través de STDOUT (o la alternativa más cercana), valor de retorno de función o parámetro de función (out).
La entrada puede tomarse en cualquier cadena conveniente o formato de lista.
No debe suponer que los elementos en cada lista son únicos, ni que están ordenados. Puede suponer que ambas listas contienen al menos un elemento.
El resultado debería ser verdadero si ambos promedios pueden elevarse moviendo un solo entero y falso de lo contrario.
Este es el código de golf, por lo que gana la respuesta más corta (en bytes).
Casos de prueba
Verdad:
[1], [2, 3]
[1, 2, 3], [4, 5, 6]
[3, 4, 5, 6], [2, 3, 4, 5]
[6, 5, 9, 5, 6, 0], [6, 2, 0, 9, 5, 2]
[0, 4], [9, 1, 0, 2, 8, 0, 5, 5, 4, 9]
Falsy
[1], [2]
[2, 4], [5]
[1, 5], [2, 3, 4, 5]
[2, 1, 2, 3, 1, 3], [5, 1, 6]
[4, 4, 5, 2, 4, 0], [9, 2, 10, 1, 9, 0]
Tablas de clasificación
Aquí hay un fragmento de pila para generar una tabla de clasificación regular y una descripción general de los ganadores por idioma.
Para asegurarse de que su respuesta se muestre, comience con un título, usando la siguiente plantilla de Markdown:
# Language Name, N bytes
¿Dónde N
está el tamaño de su envío? Si mejora su puntaje, puede mantener los puntajes antiguos en el título, tachándolos. Por ejemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
<script>site = 'meta.codegolf'; postID = 5314; isAnswer = true; QUESTION_ID = 53913</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script>
1
y 9
otra vez, lo que elevaría ambos promedios, pero no puede hacerlo moviendo uno solo.