#CT00029. Chia nhóm tối ưu (Optimal Grouping)

    ID: 103 Loại: Thông thường 4000ms 256MiB Tried: 2 Đã chấp nhận: 1 Độ khó: 1 Đăng bởi: Nhãn>Sorting and SearchingSorting algorithmsDynamic ProgrammingDynamic programming basicsBottom-up DPAmortized AnalysisMonotonic queue

Chia nhóm tối ưu (Optimal Grouping)

Chia nhóm tối ưu (Optimal Grouping)

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

Đề bài

Có NN học sinh, học sinh thứ ii có điểm năng lực XiX_i. Cần chia toàn bộ học sinh thành các nhóm; mỗi học sinh thuộc đúng một nhóm.

Số học sinh trong mỗi nhóm phải nằm trong đoạn [L,R][L,R]. Chi phí của một nhóm bằng hiệu giữa điểm năng lực lớn nhất và nhỏ nhất trong nhóm.

Hãy tìm tổng chi phí nhỏ nhất của một cách chia hợp lệ. Nếu không thể chia, in -1.

Input

  • Dòng đầu chứa ba số nguyên N,L,RN,L,R.
  • Dòng thứ hai chứa NN số nguyên X1,X2,…,XNX_1,X_2,\ldots,X_N.

Output

In một số nguyên duy nhất là tổng chi phí nhỏ nhất, hoặc -1 nếu không tồn tại cách chia hợp lệ.

Subtask

  • Subtask 1 — 25%: 1≤L≤R≤N≤201\le L\le R\le N\le 20, 0≤Xi≤1090\le X_i\le 10^9.
  • Subtask 2 — 25%: 1≤L≤R≤N≤20001\le L\le R\le N\le 2000, 0≤Xi≤1090\le X_i\le 10^9.
  • Subtask 3 — 20%: 1≤L=R≤N≤2⋅1051\le L=R\le N\le 2\cdot 10^5, 0≤Xi≤1090\le X_i\le 10^9.
  • Subtask 4 — 30%: 1≤L≤R≤N≤2⋅1051\le L\le R\le N\le 2\cdot 10^5, 0≤Xi≤1090\le X_i\le 10^9.

Ví dụ

Ví dụ 1

Input

5 2 3
12 2 10 1 11

Output

3

Giải thích

Sắp xếp thành 1,2,10,11,121,2,10,11,12. Chia {1,2}\{1,2\} và {10,11,12}\{10,11,12\}, tổng chi phí là 1+2=31+2=3.

Ví dụ 2

Input

5 3 3
1 2 3 4 5

Output

-1

Giải thích

Mỗi nhóm phải có đúng 33 học sinh nên không thể chia hết 55 học sinh.