Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để tìm giá trị trung bình lớn nhất có thể có của các phần tử có tổng là s

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