두 개의 숫자 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