Giả sử chúng ta có hai số n và s. Chúng ta phải tìm giá trị trung bình lớn nhất có thể có của một mảng n phần tử không âm, sao cho tổng các phần tử bằng s.
Vì vậy, nếu đầu vào giống như n =3; s =5, thì đầu ra sẽ là 2, vì đối với mảng [1, 2, 2], tổng là 5 và trung vị là 2.
Các bước
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
m := floor of (n / 2) + 1 return floor of (s / m)
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
#include <bits/stdc++.h> using namespace std; int solve(int n, int s) { int m = n / 2 + 1; return s / m; } int main() { int n = 3; int s = 5; cout << solve(n, s) << endl; }
Đầu vào
3, 5
Đầu ra
2