Pengantar:
Beberapa hari yang lalu saya membaca posting ini dengan judul yang sama ketika saya menemukannya di HNQ. Dalam pertanyaan ini sedang dibahas jika klaim calon presiden-Bernie Sanders, yang mengklaim sebagai berikut:
Saat ini 26 miliarder terkaya di dunia, 26, sekarang memiliki kekayaan sebanyak 3,8 miliar orang termiskin di planet ini, setengah dari populasi dunia.
Tautan ke video
benar atau tidak. Silakan buka pertanyaan itu sendiri untuk jawaban dan diskusi di sana.
Adapun tantangan aktual berdasarkan klaim ini:
Tantangan:
Dua input: daftar angka yang diurutkan menurun dan angka (di mana adalah ).
Output: mungkin akhiran sub-daftar terpanjang yang jumlah total adalah jumlah pertama nilai-nilai dalam daftar .
Contoh:
Input: = [500,200,150,150,125,100,75,75,55,50,40,30,30,20,10,10,8,5,5,5,3,2,2,1,0,-2,-3]
dan .
Keluaran:[125,100,75,75,55,50,40,30,30,20,10,10,8,5,5,5,3,2,2,1,0,-2,-3]
Mengapa?
Nilai pertama dari daftar ( [500,200]
) dijumlahkan 700
. Jika kita mengambil semua sufiks dari angka yang tersisa, serta jumlah mereka:
Suffix: Sum:
[-3] -3
[-2,-3] -5
[0,-2,-3] -5
[1,0,-2,-3] -4
[2,1,0,-2,-3] -2
[2,2,1,0,-2,-3] 0
[3,2,2,1,0,-2,-3] 3
[5,3,2,2,1,0,-2,-3] 8
[5,5,3,2,2,1,0,-2,-3] 13
[5,5,5,3,2,2,1,0,-2,-3] 18
[5,5,5,5,3,2,2,1,0,-2,-3] 23
[10,5,5,5,5,3,2,2,1,0,-2,-3] 33
[10,10,5,5,5,5,3,2,2,1,0,-2,-3] 43
[20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 63
[30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 93
[30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 123
[40,30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 163
[50,40,30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 213
[55,50,40,30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 268
[75,55,50,40,30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 343
[75,75,55,50,40,30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 418
[100,75,75,55,50,40,30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 518
[125,100,75,75,55,50,40,30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 643
[150,125,100,75,75,55,50,40,30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 793
[150,150,125,100,75,75,55,50,40,30,30,20,10,10,5,5,5,5,3,2,2,1,0,-2,-3] 943
Akhiran terpanjang yang memiliki jumlah lebih rendah dari atau sama dengan 700
adalah [125,100,75,75,55,50,40,30,30,20,10,10,8,5,5,5,3,2,2,1,0,-2,-3]
dengan jumlah 643
, jadi itu adalah hasil kami.
Aturan tantangan:
- Nilai dalam awalan pertama tidak dihitung ke akhiran-keluaran. Yaitu input =
[10,5,5,3]
dan akan menghasilkan[5,3]
, dan tidak[5,5,3]
. - I / O fleksibel. Anda dapat memasukkan sebagai daftar / aliran / array bilangan bulat / desimal / string, string tunggal yang dibatasi, satu per satu melalui STDIN, dll. Anda dapat menampilkan sebagai daftar / aliran / array bilangan bulat / desimal / string juga, cetak / kembalikan string yang dibatasi, cetak angka pada setiap baris baru, dll. Panggilan Anda.
- Outputnya dijamin tidak kosong. Jadi Anda tidak perlu berurusan dengan kasus uji seperti =
[-5,-10,-13]
dan menghasilkan[]
. - Baik (atau salah satu) input dan / atau output mungkin juga dalam urutan naik daripada urutan menurun jika Anda memilih untuk.
Aturan umum:
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda memposting jawaban dengan bahasa yang bukan kode. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa saja'. - Aturan standar berlaku untuk jawaban Anda dengan aturan I / O default , sehingga Anda diizinkan untuk menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program penuh. Panggilanmu.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda (yaitu TIO ).
- Juga, menambahkan penjelasan untuk jawaban Anda sangat dianjurkan.
Kasus uji:
Inputs: L=[500,200,150,150,125,100,75,75,55,50,40,30,30,20,10,10,8,5,5,5,3,2,2,1,0,-2,-3], n=2
Output: [125,100,75,75,55,50,40,30,30,20,10,10,8,5,5,5,3,2,2,1,0,-2,-3]
Inputs: L=[10,5,5,3], n=2
Output: [5,3]
Inputs: L=[7,2,1,-2,-4,-5,-10,-12], n=7
Output: [-12]
Inputs: L=[30,20,10,0,-10,-20,-30], n=1
Output: [20,10,0,-10,-20,-30]
Inputs: L=[100,35,25,15,5,5,5,5,5,5,5,5,5,5,5,5,5], n=1
Output: [15,5,5,5,5,5,5,5,5,5,5,5,5,5]
Inputs: L=[0,-5,-10,-15], n=2
Output: [-10,-15]
Inputs: L=[1000,999,998,900,800,766,525,525,400,340,120,110,80,77,33,12,0,-15,-45,-250], n=2
Output: [525,525,400,340,120,110,80,77,33,12,0,-15,-45,-250]
Inputs: L=[10,5,5], n=1
Output: [5,5]
[131000000000, 96500000000, 82500000000, 76000000000, (7.7 billion more entries)]
:: hal
L = [-5,-10,-13]
dan n=2
menghasilkan[]
. " Juga, daftar input dijamin akan diurutkan menurun (atau naik jika Anda memilih untuk), jadi [1,2,3]
bukan daftar input yang valid untuk memulai (kecuali jika Anda memilih input naik, dalam hal [1,2]
ini hasilnya).