Quay phải hoán vị

Đề bài

Mô tả

Cho một hoán vị p độ dài n. Với một hoán vị q bất kỳ độ dài n, độ lệch của q được định nghĩa là

D(q)=∑i=1n|qi−i|.

Ta nói q là phép quay phải k vị trí của p (với 0≤k<n) nếu

q=(pn−k+1,pn−k+2,…,pn,p1,p2,…,pn−k).

Tức là, k=0 giữ nguyên p; k=1 cho (pn,p1,…,pn−1); v.v.

Hãy tìm chỉ số k của một phép quay phải của p có độ lệch nhỏ nhất. Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.

Dữ liệu vào

  • Dòng 1: số nguyên n — độ dài hoán vị.
  • Dòng 2: n số nguyên p1,p2,…,pn là các phần tử của hoán vị (đảm bảo đôi một khác nhau, 1≤pi≤n).

Dữ liệu ra

In ra hai số nguyên cách nhau bởi dấu cách: độ lệch nhỏ nhất, và chỉ số k của một phép quay đạt được độ lệch đó.

Ràng buộc

  • 2≤n≤106
  • p là một hoán vị của {1,2,…,n}.

Ví dụ

Input Output Giải thích
3
1 2 3
0 0 Hoán vị đã là đồng nhất, độ lệch 0 tại k=0.
3
2 3 1
0 1 Tại k=1, ta có (1,2,3), độ lệch bằng 0.
3
3 2 1
2 1 Độ lệch tại k=0 là 4; tại k=1 ta có (1,3,2) với độ lệch 2; tại k=2 ta có (2,1,3) với độ lệch 2. Đáp án "2 2" cũng được chấp nhận.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0