Định nghĩa
Một vector một chứa n yếu tố được cho là majorize hoặc thống trị một vector b với n nguyên tố khi và chỉ khi cho tất cả các giá trị k như rằng 1 ≤ k ≤ n , tổng các phần tử đầu tiên của một ↓ qua k thứ yếu tố của một ↓ lớn hơn hoặc bằng tổng các đầu tiên thông qua k thứ yếu tố của b ↓ , nơi v ↓ đại diện cho vector v sắp xếp theo thứ tự giảm dần.
Đó là,
a_1 >= b_1
a_1 + a_2 >= b_1 + b_2
a_1 + a_2 + a_3 >= b_1 + b_2 + b_3
...
a_1 + a_2 + ... + a_n-1 >= b_1 + b_2 + ... + b_n-1
a_1 + a_2 + ... + a_n-1 + a_n >= b_1 + b_2 + ... + b_n-1 + b_n
trong đó a và b được sắp xếp theo thứ tự giảm dần.
Với mục đích của thách thức này, chúng tôi sẽ sử dụng một khái quát hóa nhỏ của chuyên ngành: chúng tôi sẽ nói một danh sách là một chuyên ngành chưa được sắp xếp của một danh sách khác nếu tất cả các bất đẳng thức trên là đúng mà không cần sắp xếp a và b . (Tất nhiên, điều này là vô dụng về mặt toán học, nhưng làm cho thử thách trở nên thú vị hơn.)
Thử thách
Đưa ra một đầu vào gồm hai danh sách riêng biệt a và b của các số nguyên trong phạm vi từ 0 đến 255 (bao gồm), cả hai danh sách có độ dài n ≥ 1, xuất ra cho dù danh sách thứ nhất chưa được sắp xếp - chính là thứ hai ( a > b ), thứ hai không được sắp xếp chuyên ngành đầu tiên ( b > a ), hoặc không.
Bạn có thể tùy chọn yêu cầu độ dài của hai danh sách được cung cấp làm đầu vào. Đầu ra phải luôn là một trong ba giá trị riêng biệt, nhưng bản thân các giá trị có thể là bất cứ thứ gì bạn muốn (vui lòng chỉ định giá trị nào đại diện cho a > b , b > a và không có trong câu trả lời của bạn).
Các trường hợp thử nghiệm cho a > b :
[255] [254]
[3,2,1] [3,1,2]
[6,1,5,2,7] [2,5,4,3,7]
Các trường hợp thử nghiệm cho b > a :
[9,1] [10,0]
[6,5,4] [7,6,5]
[0,1,1,2,1,2] [0,1,2,1,2,1]
Các trường hợp thử nghiệm không có chuyên ngành:
[200,100] [150,250]
[3,1,4] [2,3,3]
[9,9,9,9,9,0] [8,8,8,8,8,9]