Ta nhận thấy rằng nếu bài của a làm sẽ bằng (a1 + a2 + a3 + ... + a2n), Mà mỗi người làm tối đa n bài. Như vậy khi đó ta cần chọn lựa những thằng n a và n b nhỏ nhất => sum = ai + ... + bi +...
Như vậy nếu thằng a làm thì thời gian làm là b + a - b.
Ta xây dựng mảng f[i] = ai - bi;
Gọi minb là tổng của n giá trị nhỏ nhất của f
=> sum = (b1 + b2 +.. + b2n) + minb
Để sum nhỏ nhất thì minb phải nhỏ nhất
=> minb = n giá trị nhỏ nhất của f
=> sum = (b1 + b2 +.. + b2n) + min(minb)
Như vậy nếu thằng a làm thì thời gian làm là b + a - b.
Ta xây dựng mảng f[i] = ai - bi;
Gọi minb là tổng của n giá trị nhỏ nhất của f
=> sum = (b1 + b2 +.. + b2n) + minb
Để sum nhỏ nhất thì minb phải nhỏ nhất
=> minb = n giá trị nhỏ nhất của f
=> sum = (b1 + b2 +.. + b2n) + min(minb)