สมมติว่าเรามีตัวเลขสองตัว n และ s เราต้องหาค่ามัธยฐานสูงสุดที่เป็นไปได้ของอาร์เรย์ขององค์ประกอบที่ไม่ใช่ค่าลบ n ตัว ดังนั้นผลรวมขององค์ประกอบจะเท่ากับ s
ดังนั้นหากอินพุตเป็นเหมือน 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