MSAFE - Rob Mini-Safe
English | Vietnamese |
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 ≤ N ≤ 100,000, N dòng tiếp theo, mỗi dòng là số Pi, vị trí ban đầu của cung bị thiếu , 1 ≤ Pi ≤ 10000000.
Output
Số giây nhỏ nhất cần để mở két. Note: take care of the size of that number.
Sample
safe.in 3 5 17 7 safe.out 12 safe.in 4 9999999 7 16 9999995 safe.out 29 safe.in 4 1 2500001 5000000 7500002 safe.out 9999998
Added by: | psetter |
Date: | 2009-03-16 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ERL JS-RHINO NODEJS PERL6 VB.NET |
Resource: | COI 02 |