Cân bằng nghịch thế

Đề bài

Mô tả

Cho mảng nhị phân A gồm 2N phần tử. Một nghịch thế trong đoạn là cặp (i,j) với i<j, A[i]=1, A[j]=0. Gọi invL là số nghịch thế trong nửa đầu (A[0..N−1]) và invR là số nghịch thế trong nửa sau (A[N..2N−1]).

Tìm số phép hoán đổi hai phần tử liền kề tối thiểu để invL=invR.

Dữ liệu vào

  • Dòng đầu: N.
  • Dòng thứ hai: 2N số nguyên 0 hoặc 1.

Dữ liệu ra

Số phép hoán đổi tối thiểu.

Ràng buộc

  • 1≤N≤105

Ví dụ

Input Output Giải thích
5
0 0 0 1 0 1 0 0 0 1
1 invL=1, invR=3. Hoán đổi A[4] và A[5]: invL=0, invR=0.

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