Так называемый феномен Уилла Роджерса описывает способ подстройки статистики путем увеличения среднего значения в двух (нескольких) наборах, когда один элемент перемещается между двумя наборами. В качестве простого примера рассмотрим два набора
A = {1, 2, 3}
B = {4, 5, 6}
Их арифметическими средствами являются 2
и 5
, соответственно. Если мы переместим 4
в A
:
A = {1, 2, 3, 4}
B = {5, 6}
Теперь средние значения 2.5
и 5.5
, соответственно, оба средних были подняты путем простой перегруппировки.
В качестве другого примера рассмотрим
A = {3, 4, 5, 6} --> A = {3, 5, 6}
B = {2, 3, 4, 5} --> B = {2, 3, 4, 4, 5}
С другой стороны, невозможно поднять обе средние для наборов
A = {1, 5, 9}
B = {4, 5, 7, 8}
Соревнование
Учитывая два списка неотрицательных целых чисел, определите, можно ли поднять обе средние, переместив одно целое число из одного списка в другой.
Среднее значение пустого списка не определено, поэтому, если один из списков содержит только один элемент, этот элемент не может быть перемещен.
Вы можете написать программу или функцию, принимая ввод через STDIN (или ближайшую альтернативу), аргумент командной строки или аргумент функции и выводя результат через STDOUT (или ближайшую альтернативу), возвращаемое значение функции или параметр функции (out).
Ввод может быть сделан в любой удобной строке или формате списка.
Вы не должны предполагать, что элементы в каждом списке уникальны или что они отсортированы. Вы можете предположить, что оба списка содержат хотя бы один элемент.
Вывод должен быть правдивым, если оба средних значения можно повысить, переместив одно целое число и, в противном случае, в ложь .
Это код гольф, поэтому самый короткий ответ (в байтах) выигрывает.
Тестовые случаи
Truthy:
[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]
Leaderboards
Вот фрагмент стека, который генерирует как регулярную таблицу лидеров, так и обзор победителей по языкам.
Чтобы убедиться, что ваш ответ обнаружен, начните его с заголовка, используя следующий шаблон уценки:
# Language Name, N bytes
где N
размер вашего представления. Если вы улучшите свой счет, вы можете сохранить старые результаты в заголовке, вычеркнув их. Например:
# 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
и 9
более, что поднимет оба средних, но вы не можете сделать это, сдвинув одно.