একটি অ্যারে দেওয়া আছে। এমন সর্বোচ্চ মান K বের করতে হবে যাতে অ্যারেতে কমপক্ষে Kটি উপাদান থাকে যারা K-র চেয়ে বড় বা সমান।
উদাহরণ
arr[] = {3, 5, 1, 7, 6, 6, 4, 8}
আউটপুট: 5
ব্যাখ্যা: ৫ বা তার চেয়ে বড় উপাদানগুলো: 5,6,6,7,8 — মোট ৫টি।
অ্যালগরিদম
- অ্যারেটি সর্ট করুন।
- শেষ থেকে শুরু করুন: যদি
arr[i] <= (N - i)হয়, তবেarr[i]কে রিটার্ন করুন।
C++ প্রোগ্রাম
#include <bits/stdc++.h>
using namespace std;
int CalcMaximumVal(int arr[], int N) {
sort(arr, arr + N);
for (int i = N-1; i >= 0; i--) {
if (arr[i] <= (N - i)) return arr[i];
}
return 0;
}
int main() {
int arr[] = {4,7,2,3,8};
int N = sizeof(arr)/sizeof(arr[0]);
cout << "Maximum K is " << CalcMaximumVal(arr, N);
return 0;
}
আউটপুট: Maximum K is 3