두 개의 숫자 n과 s가 있다고 가정합니다. 요소의 합이 s와 같도록 음이 아닌 요소 n개의 배열에서 가능한 최대 중앙값을 찾아야 합니다.
따라서 입력이 n =3과 같으면; s =5이면 출력은 2가 됩니다. 배열 [1, 2, 2]의 경우 합계가 5이고 중앙값이 2이기 때문입니다.
단계
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
m := floor of (n / 2) + 1 return floor of (s / m)
예시
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#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;
} 입력
3, 5
출력
2