এই সমস্যায়, আমাদেরকে n পূর্ণসংখ্যার একটি অ্যারে দেওয়া হয়েছে এবং আমরা অ্যারেতে K উপাদান যোগ করছি এবং তারপর ফলাফলপ্রাপ্ত অ্যারের মধ্যমা খুঁজে বের করছি। শর্ত দেওয়া, N+k বিজোড়।
সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,
ইনপুট −
array = {23, 65, 76, 67} ; k =1
আউটপুট −
67
এই সমস্যাটি সমাধান করার জন্য, আমরা প্রদত্ত উপাদানগুলিকে আরোহী ক্রমে বাছাই করব এবং তারপর অ্যারের শেষে k উপাদান যোগ করব অর্থাৎ আমরা k বৃহত্তর উপাদান নেব।
শর্ত দেওয়া হয় যে n+k বিজোড়। সুতরাং, সূত্র ব্যবহার করে মধ্যক গণনা করা যেতে পারে, (n+k)/2 .
উদাহরণ
মাঝামাঝি খুঁজতে প্রোগ্রাম,
#include <bits/stdc++.h> using namespace std; int findMedianAfterK(int arr[], int n, int K) { sort(arr, arr + n); return arr[((n + K)/2)]; } int main() { int array[] = {3,56, 8, 12, 67, 10 }; int k = 3; int n = sizeof(array) / sizeof(array[0]); cout<<"The median after adding "<<k<<" elements is "<<findMedianAfterK(array, n, k); return 0; }
আউটপুট
The median after adding 3 elements is 56