Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 정확히 k개의 요소를 삭제한 후 배열의 가능한 최대 중간 요소

<시간/>

이 튜토리얼에서는 정확히 k개의 요소를 삭제한 후 배열의 가능한 최대 중간 요소를 찾는 프로그램에 대해 논의할 것입니다.

이를 위해 크기가 N이고 정수 K인 배열이 제공됩니다. 우리의 임무는 결과 배열의 중간 요소가 최대가 되도록 배열에서 K개의 요소를 줄이는 것입니다.

예시

#include <bits/stdc++.h>
using namespace std;
//calculating maximum value of middle element
int maximum_middle_value(int n, int k, int arr[]) {
   int ans = -1;
   int low = (n + 1 - k) / 2;
   int high = (n + 1 - k) / 2 + k;
   for (int i = low; i <= high; i++) {
      ans = max(ans, arr[i - 1]);
   }
   return ans;
}
int main() {
   int n = 5, k = 2;
   int arr[] = { 9, 5, 3, 7, 10 };
   cout << maximum_middle_value(n, k, arr) << endl;
   n = 9;
   k = 3;
   int arr1[] = { 2, 4, 3, 9, 5, 8, 7, 6, 10 };
   cout << maximum_middle_value(n, k, arr1) << endl;
   return 0;
}

출력

7
9