Nghịch thế sau khi đổi dấu

Đề bài

Mô tả

Cho dãy số nguyên p1,p2,,pn.

Một nghịch thế của dãy a1,a2,,an là một cặp chỉ số (i,j) với 1i<jn thoả mãn ai>aj.

Bạn được phép đổi dấu một số phần tử tuỳ ý của dãy p (tức là nhân phần tử đó với 1); mỗi phần tử có thể đổi dấu hoặc giữ nguyên, độc lập với các phần tử khác. Hãy tìm số nghịch thế nhỏ nhất có thể đạt được của dãy sau khi đổi dấu.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n.
  • Dòng thứ hai chứa n số nguyên p1,p2,,pn.

Dữ liệu ra

In ra một số nguyên duy nhất là số nghịch thế nhỏ nhất có thể đạt được.

Ràng buộc

  • 1n2000
  • |pi|105

Ví dụ

Input Output Giải thích
2
2 1
0 Đổi dấu phần tử đầu tiên được dãy 2,1. Vì 2<1 nên dãy không có nghịch thế nào.
9
-2 0 -1 0 -1 2 1 0 -1
6 Một cách đổi dấu tối ưu cho dãy 2,0,1,0,1,2,1,0,1, dãy này có đúng 6 nghịch thế và không cách nào cho ít hơ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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0