Rob Mini-Safe

Xem dạng PDF

Gửi bài giải


Điểm: 0,76 (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:
COI 02
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Mirko muốn mở trộm két sắt của con trai để lấy vài cái sticker cho bộ sưu tập của anh ta.

Khóa của két gồm ~N~ đĩa giống nhau, mỗi đĩa chia thành ~10\,000\,000~ cung đánh số từ ~1~ tới ~10\,000\,000~ theo chiều kim đồng hồ. Ở thời điểm ban đầu, các cung có cùng chỉ số xếp chồng lên nhau. Mỗi đĩa thiếu một cung, cung thiếu là chìa khóa để mở két. Để mở két, các cung thiếu phải chồng lên nhau (tạo được ~1~ rãnh). Mỗi giây, Mirko có thể quay ~1~ cái đĩa theo chiều kim đồng hồ hoặc ngược lại theo ~1~ cung.

Tính thời gian ít nhất để Mirko mở được két.

Input

Dòng đầu ~N~, số đĩa, ~2 \leq N \leq 100\,000~, ~N~ dòng tiếp theo, mỗi dòng là số ~P_i~, vị trí ban đầu của cung bị thiếu, ~1 \leq P_i \leq 10\,000\,000~.

Output

Số giây nhỏ nhất cần để mở két. Note: take care of the size of that number.

Sample Input 1

3 
5 
17 
7

Sample Output 1

12

Sample Input 2

4 
9999999 
7 
16 
9999995

Sample Output 2

29

Sample Input 3

4 
1 
2500001 
5000000 
7500002

Sample Output 3

9999998

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.