#CCBCHBAHAI0000081. Equalize the Array

    ID: 999 Loại: Thông thường 2000ms 256MiB Tried: 0 Đã chấp nhận: 0 Độ khó: 1 Đăng bởi: Nhãn>Programming language basicsStatic arraysIteration techniquesImplementation techniquesWorking with numbers

Equalize the Array

Equalize the Array

Nguồn: HackerRank

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho mảng số nguyên aa có nn phần tử. Ta được phép xóa một số phần tử nhưng không thay đổi giá trị của phần tử còn lại.

Mục tiêu là sau các lần xóa, mọi phần tử còn lại đều có cùng một giá trị. Với mỗi giá trị vv, ký hiệu

f(v)=∣{i∣0≤i<n, ai=v}∣.f(v)=|\{i\mid 0\le i<n,\ a_i=v\}|.

Nếu giữ lại giá trị vv, số phần tử cần xóa là n−f(v)n-f(v). Do đó số lần xóa tối thiểu là

D=n−max⁡vf(v).D=n-\max_v f(v).

Hãy tính DD.

Input

Dòng đầu chứa nn. Dòng thứ hai chứa nn số nguyên aia_i.

Output

In một số nguyên DD: số phần tử ít nhất phải xóa.

Subtask

Subtask 1 (20 điểm): 1≤n≤101\le n\le10, 1≤ai≤1001\le a_i\le100.

Subtask 2 (30 điểm): 1≤n≤501\le n\le50, 1≤ai≤1001\le a_i\le100.

Subtask 3 (50 điểm): 1≤n≤1001\le n\le100, 1≤ai≤1001\le a_i\le100.

Ví dụ

Input

5
3 3 2 1 3

Output

2

Giải thích

Giá trị 33 xuất hiện 33 lần, là tần suất lớn nhất. Giữ ba số 33 và xóa hai phần tử còn lại nên D=5−3=2D=5-3=2.