#76. Xây dựng (Mã bài: BUILDING)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Đất nước K gồm n thành phố, được đánh số từ 1 đến n . Căn cứ vào vị trí địa lý của từng thành phố, chính phủ đã xác định độ quan trọng cho từng thành phố. Cụ thể, thành phố thứ i có độ quan trọng là a_i .

Để quá trình giao thương giữa các thành phố diễn ra thuận lợi, chính phủ đã quyết định xây dựng một hệ thống đường sắt nối liền các thành phố. Kết quả khảo sát cho thấy rằng, chi phí để xây dựng tuyến đường sắt nối liền hai thành phố u v \min(a_u \mod a_v, a_v \mod{a_u}) .

Chính phủ cần chọn ra một số tuyến đường sắt để xây dựng, sao cho hai thành phố bất kì đều có thể đi đến nhau thông qua các tuyến đường sắt được xây, và tổng chi phí xây dựng các tuyến đường sắt là nhỏ nhất có thể. Từ thành phố u có thể đi được đến thành phố v nếu tồn tại một chuỗi thành phố u = c_1, c_2, \dots, c_{t-1}, c_t = v sao cho có tuyến đường sắt trực tiếp giữa hai thành phố liên tiếp c_i c_{i+1} với mọi 1 \le i < t .

Yêu cầu: Hãy giúp chính phủ xác định tổng chi phí nhỏ nhất để xây dựng hệ thống đường sắt trên.

Dữ liệu:

  • Dòng đầu tiên gồm một số nguyên n ( 1 \le n \le 10^5 ) — số thành phố của đất nước K.
  • Dòng thứ hai gồm n số nguyên a_i ( 1 \le a_i \le 5 \cdot 10^6 ) — độ quan trọng của thành phố i .

Kết quả: Một số nguyên duy nhất là tổng chi phí xây dựng nhỏ nhất có thể.

Ví dụ:

Dữ liệu:

4
3 5 11 9

Kết quả:

3

Dữ liệu:

3
5 15 45

Kết quả:

0

Giải thích:

  • Ở ví dụ thứ nhất, ta cần xây dựng các tuyến đường sắt (1,2), (1,4) và (2,3) với chi phí lần lượt là 2, 0 và 1. Tổng chi phí là 2 + 0 + 1 = 3 .
  • Ở ví dụ thứ hai, chi phí xây dựng đường sắt giữa hai thành phố bất kì luôn bằng 0. Do đó, tổng chi phí xây dựng là 0.

Giới hạn:

  • Subtask #1 (10%): a_i + 1 = a_{i+1} , \forall i : 1 \le i < n .
  • Subtask #2 (20%): n \le 1000 .
  • Subtask #3 (40%): a_i \le 10^6 .
  • Subtask #4 (30%): Không có ràng buộc gì thêm.