19/04/2023
Làm sao để có câu trả lời hay nhất?
19/04/2023
19/04/2023
Dưới đây là code Python của thuật toán này:
n = int(input())
a = []
b = []
for i in range(2*n):
ai, bi = map(int, input().split())
if i < n:
a.append(ai)
else:
b.append(bi)
# Tính tổng thời gian lập trình của Tí cho tất cả các phân hoạch
sum_a = [0]
for ai in a:
sum_a += [x + ai for x in sum_a]
# Tính tổng thời gian lập trình của Tèo cho tất cả các phân hoạch
sum_b = [0]
for bi in b:
sum_b += [x + bi for x in sum_b]
# Sắp xếp danh sách thời gian lập trình của Tèo
sum_b.sort()
# Duyệt qua từng phần tử trong danh sách thời gian lập trình của Tí
# và tìm kiếm phần tử phù hợp trong danh sách thời gian lập trình của Tèo
ans = float('inf')
for i in range(len(sum_a)):
j = bisect_left(sum_b, sum_a[i] + sum_b[0])
if j < len(sum_b):
ans = min(ans, sum_a[i] + sum_b[j])
print(ans)
Nếu bạn muốn hỏi bài tập
Các câu hỏi của bạn luôn được giải đáp dưới 10 phút
CÂU HỎI LIÊN QUAN
Top thành viên trả lời