SOFTWARE - Tư duy kiểu úc
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: admin

Một phần mềm nhỏ đã được người phân tích thiết kế chia làm n công đoạn và giao cho hai lập trình viên thực hiện. Mỗi lập trình viên sẽ lần lượt viết các đoạn mã chương trình được giao một cách tuần tự và tiến hành song song với lập trình viên còn lại (Bởi phong cách lập trình kiểu úc yêu cầu tuân thủ tuyệt đối thiết kế ban đầu, không được bắt người kia làm theo ý mình làm ảnh hưởng tới tiến độ)

Trong hai lập tình viên, có một người chuyên lập trình PASCAL và một người chuyên lập trình C++. Điều đó không gây khó khăn nhiều bởi họ sẽ dịch các đoạn trình dưới dạng các thư viện liên kết ngoài và sau đó chỉ cần lắp ráp lại là xong. Tuy nhiên, có thể có những công đoạn mà lập trình viên PASCAL viết nhanh hơn và cũng có thể có những công đoạn khác anh ta viết chậm hơn lập trình viên C++

Yêu cầu: Cho biết thời gian dự kiến để lập trình viên PASCAL viết đoạn thứ i là pi phút, thời gian dự kiến để lập trình viên C++ viết đoạn chương trình thứ j là cj phút. Hãy phân công mỗi đoạn cho đúng một người viết để thời gian hoàn thành phần mềm là nhanh nhất.

Ràng buộc n≤100, pi, ci ≤30000

Dữ liệu 

  • Dòng 1 chứa số n
  • Các dòng tiếp theo chứa các số từ p1 đến pn rồi từ c1 đến cn theo đúng thứ tự đó.

Kết quả 

  • ­Ghi thời gian cần thiết hoàn tất cả n công đoạn

Các số trên một dòng của các file input/output được ghi cách nhau ít nhất một dấu trắng.

Ví dụ

Input

6
10 100 30 50 50 80
100 30 40 40 60 90

Output

130

Giải thích:

1 3 6:  Số hiệu giao LTV Pascal thực hiện
2 4 5:  Số hiệu giao LTV C++ thực hiện

Back to Top