[COCI1213 - Contest 02] Bài 3: Chuỗi

Xem PDF

Nộp bài

Điểm: 100 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 1G
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài

Mirko đã tìm thấy ~N~ sợi dây chuyền trên gác mái của mình. Mỗi chuỗi bao gồm một số liên kết, trong đó mỗi liên kết có tối đa hai liên kết liền kề. Mỗi liên kết có thể được mở hoặc đóng, do đó có thể tách các chuỗi hoặc nối chúng thành một chuỗi dài hơn. Mirko muốn kết nối tất cả các chuỗi thành một chuỗi lớn, đồng thời mở và đóng càng ít liên kết càng tốt.

Ví dụ: nếu Mirko chỉ có ba chuỗi, mỗi chuỗi chỉ có một liên kết, anh ấy có thể mở một trong số chúng, sử dụng nó để kết nối hai chuỗi còn lại và đóng nó lại:

1

Cho số lượng chuỗi và độ dài của mỗi chuỗi, hãy tìm số mắt xích tối thiểu mà Mirko phải mở và đóng để liên kết tất cả chúng trong bóng tối thành một chuỗi dài.

Input

  • Dòng đầu tiên chứa số nguyên dương ~N~ ~(2 ≤ N \le 500 000)~, số lượng chuỗi.
  • Dòng đầu vào thứ hai chứa ~N~ số nguyên dương ~L_i~ ~(1 ≤ L_i ≤ 1 000 000)~, độ dài của từng chuỗi riêng lẻ.

Output

  • Dòng đầu ra đầu tiên và duy nhất phải chứa số lượng liên kết tối thiểu được yêu cầu.

Sample Input 1

2
3 3

Sample Ouput 1

1

Sample Input 2

3
1 1 1

Sample Ouput 2

1

Sample Input 3

5
4 3 5 7 9

Sample Ouput 3

9

Chú ý:

  • Làm rõ ví dụ đầu tiên: Mirko có thể mở liên kết cuối cùng của chuỗi đầu tiên, kết nối nó với liên kết đầu tiên của chuỗi thứ hai và đóng nó lại.
  • Làm rõ ví dụ thứ ba: Ở đây tốt nhất là tách hoàn toàn chuỗi có độ dài 3, sử dụng ba mắt xích của nó để nối các chuỗi còn lại.

Bình luận đầu tiên

Bình luận

Không có bình luận nào.