Giới thiệu:
Vài ngày trước tôi đã đọc bài đăng này với cùng tiêu đề khi tôi bắt gặp nó trong HNQ. Trong câu hỏi này, nó đang được thảo luận nếu tuyên bố của ứng cử viên tổng thống Bernie Sanders, người đã tuyên bố như sau:
Ngày nay, 26 tỷ phú giàu nhất thế giới, 26 tuổi, hiện đang sở hữu nhiều tài sản như 3,8 tỷ người nghèo nhất hành tinh, một nửa dân số thế giới.
Liên kết với video
có đúng hay không. Hãy đi đến câu hỏi cho câu trả lời và thảo luận ở đó.
Đối với thử thách thực tế dựa trên yêu cầu này:
Thử thách:
Hai đầu vào: một danh sách số được sắp xếp giảm dần và một số (trong đó là ).
Output: dài nhất có thể hậu tố danh sách phụ của mà tổng số tiền là tổng các đầu tiên giá trị trong danh sách .
Thí dụ:
Đầu vào: = và .
Đầu ra:[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]
[125,100,75,75,55,50,40,30,30,20,10,10,8,5,5,5,3,2,2,1,0,-2,-3]
Tại sao?
Giá trị đầu tiên của danh sách ( [500,200]
) tính tổng 700
. Nếu chúng ta lấy tất cả các hậu tố của các số còn lại, cũng như tổng của chúng:
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
Các hậu tố dài nhất trong đó có một số tiền thấp hơn hoặc bằng với 700
là [125,100,75,75,55,50,40,30,30,20,10,10,8,5,5,5,3,2,2,1,0,-2,-3]
với một khoản 643
, vì vậy đó là kết quả của chúng tôi.
Quy tắc thử thách:
- Các giá trị trong tiền tố đầu tiên không được tính vào hậu tố đầu ra. Tức là đầu vào =
[10,5,5,3]
và sẽ dẫn đến[5,3]
, và không[5,5,3]
. - I / O là linh hoạt. Bạn có thể nhập dưới dạng danh sách / luồng / mảng số nguyên / số thập phân / chuỗi, một chuỗi được phân tách đơn lẻ, từng chuỗi một qua STDIN, v.v. Bạn cũng có thể xuất dưới dạng danh sách / luồng / mảng số nguyên / số thập phân / chuỗi, in / trả về một chuỗi phân tách, in một số trên mỗi dòng mới, vv Cuộc gọi của bạn.
- Đầu ra được đảm bảo không trống. Vì vậy, bạn sẽ không phải đối phó với các trường hợp thử nghiệm như =
[-5,-10,-13]
và dẫn đến[]
. - Cả (hoặc một trong hai) đầu vào và / hoặc đầu ra cũng có thể theo thứ tự tăng dần thay vì thứ tự giảm dần nếu bạn chọn.
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Quy tắc chuẩn áp dụng cho câu trả lời của bạn với quy tắc I / O mặc định , vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp và kiểu trả về, chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn (ví dụ: TIO ).
- Ngoài ra, thêm một lời giải thích cho câu trả lời của bạn rất được khuyến khích.
Các trường hợp thử nghiệm:
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)]
:: p
L = [-5,-10,-13]
và n=2
dẫn đến []
. " Ngoài ra, danh sách đầu vào được đảm bảo được sắp xếp giảm dần (hoặc tăng dần nếu bạn chọn), do đó, [1,2,3]
không phải là một danh sách đầu vào hợp lệ để bắt đầu (trừ khi bạn chọn đầu vào tăng dần, trong trường hợp đó [1,2]
sẽ là kết quả).