NỐI XÍCH

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
hsgtin.vn/sach
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Người ta có N đoạn dây xích (1 < N < 10000), mỗi đoạn dây xích là một chuỗi các mắc xích được nối với nhau. Các đoạn dây xích này tách rời nhau. Mỗi đoạn xích có không quá 200 mắc xích.

Bằng cách cắt ra một mắc xích, sau đó hàn lại, ta có thể nối hai đoạn dây xích thành một đoạn.

Thời gian để cắt và hàn mỗi mắc xích là 1 đơn vị thời gian và được xem là bằng nhau với mọi mắc xích.

Nhiệm vụ của bạn là phải nối chúng lại thành một đoạn xích duy nhất với thời gian ít nhất (hay số mắc xích bị cắt và hàn lại ít nhất).

Dữ liệu vào:

  • Dòng đầu tiên là số N.
  • Dòng thứ hai ghi N số nguyên dương, số thứ i là số mắc xích có trong đoạn thứ i.

Các số cách nhau ít nhất một khoảng trắng.

Dữ liệu ra: Ghi một số duy nhất là số đơn vị thời gian ít nhất mà bạn cần để nối N đoạn xích đã cho.

INPUT
5 
3 1 5 4 2
OUTPUT
3
Giải thích ví dụ:

Có nhiều cách cắt nối, ví dụ 1 cách:

  • Cắt 1 mắc xích của đoạn 1 rồi nối 2 đoạn 2 và 3 lại
  • Cắt 1 mắc xích của đoạn 1 rồi nối 2 đoạn 4 và 5 lại

Lúc này ta còn lại 3 đoạn xích có số mắc xích là 1, 7, 7

Ta cắt mắc xích của đoạn 1 và nối 2 đoạn còn lại với nhau.

Tất cả là 3 lần cắt nối.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.