#include <stdio.h> int main() { int n1, n2; scanf("%d %d", &n1, &n2); int arr1[n1], arr2[n2]; for (int i = 0; i < n1; i++) { scanf("%d", &arr1[i]); } for (int i = 0; i < n2; i++) { scanf("%d", &arr2[i]); } int merged[n1 + n2]; int i = 0, j = 0, k = 0; while (i < n1 && j < n2) { if (arr1[i] < arr2[j]) { merged[k++] = arr1[i++]; } else { merged[k++] = arr2[j++]; } } while (i < n1) { merged[k++] = arr1[i++]; } while (j < n2) { merged[k++] = arr2[j++]; } int mid = (n1 + n2) / 2; double median = (double)merged[mid]; if ((n1 + n2) % 2 == 0) { median = (merged[mid - 1] + merged[mid]) / 2.0; } printf("%.1f\n", median); return 0; }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter