Fenomena yang disebut Will Rogers menggambarkan cara untuk mengubah statistik dengan menaikkan rata-rata dalam dua (multi) set ketika satu elemen dipindahkan antara dua set. Sebagai contoh sederhana, perhatikan dua set
A = {1, 2, 3}
B = {4, 5, 6}
Berarti aritmatika mereka adalah 2
dan 5
, masing-masing. Jika kami memindahkan 4
ke A
:
A = {1, 2, 3, 4}
B = {5, 6}
Sekarang rata-rata adalah 2.5
dan 5.5
, masing-masing, sehingga kedua rata-rata telah dinaikkan melalui pengelompokan ulang sederhana.
Sebagai contoh lain, pertimbangkan
A = {3, 4, 5, 6} --> A = {3, 5, 6}
B = {2, 3, 4, 5} --> B = {2, 3, 4, 4, 5}
Di sisi lain, tidak mungkin menaikkan kedua rata-rata untuk set
A = {1, 5, 9}
B = {4, 5, 7, 8}
Tantangan
Diberikan dua daftar bilangan bulat non-negatif, tentukan apakah mungkin untuk menaikkan kedua rata-rata dengan memindahkan satu bilangan bulat dari satu daftar ke yang lain.
Rata-rata daftar kosong tidak ditentukan, jadi jika salah satu daftar hanya berisi satu elemen, elemen ini tidak dapat dipindahkan.
Anda dapat menulis sebuah program atau fungsi, mengambil input melalui STDIN (atau alternatif terdekat), argumen baris perintah atau argumen fungsi dan mengeluarkan hasilnya melalui STDOUT (atau alternatif terdekat), nilai pengembalian fungsi atau parameter function (out).
Input dapat diambil dalam format string atau daftar yang nyaman.
Anda tidak boleh berasumsi bahwa elemen dalam setiap daftar adalah unik, atau bahwa mereka diurutkan. Anda dapat mengasumsikan bahwa kedua daftar berisi setidaknya satu elemen.
Output harus truthy jika kedua rata-rata dapat diangkat dengan memindahkan satu bilangan bulat dan falsy sebaliknya.
Ini adalah kode golf, jadi jawaban tersingkat (dalam byte) menang.
Uji Kasus
Benar:
[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]
Papan peringkat
Berikut ini adalah Stack Snippet untuk menghasilkan leaderboard biasa dan gambaran umum pemenang berdasarkan bahasa.
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
# Language Name, N bytes
di mana N
ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Contohnya:
# 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
dan 9
lebih, yang akan menaikkan rata-rata, tetapi Anda tidak bisa melakukannya dengan memindahkan satu saja.