Biến đổi xâu

Xem PDF

Nộp bài


Điểm: 10
Thời gian: 1.0s
Bộ nhớ: 64M

Tác giả:
Dạng bài

Cho xâu s, trong đó \(s_i = 0\) hoặc \(1\). Mỗi thao tác, bạn được chọn hai kí tự số kề nhau và hoán đổi chúng. Hãy tìm số thao tác ít nhất để sắp xếp các ký tự trong xâu \(s\) tăng dần.

Ví dụ, \(s = '100'\). Chúng ta cần 2 thao tác.

  • Thao tác 1: Hoán đổi \(s_1\) và \(s_2\). \(s = '010'\).
  • Thao tác 2: Hoán đổi \(s_2\) và \(s_3\). \(s = '001'\). Lúc này các ký tự trong xâu \(s\) đã được sắp xếp tăng dần.

Input

  • Một dòng chứa xâu s.

Output

  • In ra một số tự nhiên là số thao tác ít nhất cần sử dụng

Ví dụ 1:

Input

100

Output

2

Ví dụ 2:

Input

0011

Output

0

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(|s| \leq 10\);
  • Subtask \(2\) (\(30\%\) số điểm): \(|s| \leq 1000\);
  • Subtask \(3\) (\(40\%\) số điểm): \(|s| \leq 5 * 10^5\).