Big-O Coding Logo
Big-OCoding
Khóa họcLộ trìnhLuyện phỏng vấnThi đấuBài tậpBảng xếp hạngAI Coding LabSắp ra mắtPremium
Quay lại
Đề bài
|
Lời giải
|
Bài nộp
|
Thảo luận (0)

Đố vui

Nguồn: Big-O

Secret 1024MB

Cho một mảng a gồm n phần tử a1,a2,...,ana_1, a_2, ..., a_na1​,a2​,...,an​. Ta định nghĩa các hàm sau:

  • f(a,x)=∣a1−x∣+∣a2−x∣+...+∣an−x∣f(a, x) = |a_1 - x| + |a_2 - x| + ... + |a_n - x|f(a,x)=∣a1​−x∣+∣a2​−x∣+...+∣an​−x∣.
  • g(a,x)=(a1−x)2+(a2−x)2+...+(an−x)2g(a, x) = (a_1 - x)^2 + (a_2 - x)^2 + ... + (a_n - x)^2g(a,x)=(a1​−x)2+(a2​−x)2+...+(an​−x)2.

Gọi:

  • p(a)p(a)p(a) là số thực x nhỏ nhất sao cho f(a,x)f(a, x)f(a,x) đạt giá trị nhỏ nhất.
  • q(a)q(a)q(a) là số thực x nhỏ nhất sao cho g(a,x)g(a, x)g(a,x) đạt giá trị nhỏ nhất.

Yêu cầu: Cho hai số nguyên n và m, hãy đếm số lượng mảng a gồm n số nguyên dương thỏa mãn tất cả các điều kiện sau:

  • a là mảng không giảm, tức là ai≤ai+1a_i \leq a_{i + 1}ai​≤ai+1​ với mọi i≤n−1i\leq n-1i≤n−1.
  • 1≤ai≤m1 \leq a_i \leq m1≤ai​≤m (1≤i≤n)(1 \leq i \leq n)(1≤i≤n).
  • p(a)=q(a)p(a) = q(a)p(a)=q(a).

Đầu vào:

  • Gồm hai số nguyên n và m (1≤n⋅m≤50001 \leq n \cdot m \leq 50001≤n⋅m≤5000).

Đầu ra:

  • In ra kết quả của bài toán theo modulo 109+710^9 + 7109+7.

Subtask (tham khảo)

  • 25%25\%25% số test có n≤10n \leq 10n≤10 và m≤10m \leq 10m≤10.
  • 75%75\%75% số test thỏa mãn giới hạn gốc của đề bài.

Giải thích: Có 4 mảng a thỏa mãn các điều kiện:

  • {1,1,1,1}\{1, 1, 1, 1\}{1,1,1,1}
  • {1,2,2,3}\{1, 2, 2, 3\}{1,2,2,3}
  • {2,2,2,2}\{2, 2, 2, 2\}{2,2,2,2}
  • {3,3,3,3}\{3, 3, 3, 3\}{3,3,3,3}

Ví dụ 1:

Đầu vào:

4 3

Đầu ra:

4

Chỉ viết thân hàm, hệ thống tự lo Input/Output
Bài này không hỗ trợ chế độ Viết chương trình
Bật gợi ý code
|
Loading...
Test Case
|
Output
Ln 1, Col 1
Đang tải test ví dụ...