用标准库的排序全部超时,需要自己实现,另外还不能用cin cout
Sample Input
4 11 12 13 14 5 9 10 15 16 17Sample Output
13
#include <stdio.h> int N1[1000000]; int N2[1000000]; int M[2000000]; int main() { int lenN1; scanf("%d",&lenN1); for (int i = 0; i < lenN1; i++) { scanf("%d",&N1[i]); } int lenN2; scanf("%d",&lenN2); for (int i = 0; i < lenN2; i++) { scanf("%d",&N2[i]); } int i = 0, j = 0, k = 0; while(i < lenN1 && j < lenN2) { if (N1[i] < N2[j]) { M[k++] = N1[i++]; } else if (N1[i] > N2[j]) { M[k++] = N2[j++]; } else { M[k++] = N1[i++]; M[k++] = N2[j++]; } } if (i < lenN1 && j >= lenN2) { while(i < lenN1) { M[k++] = N1[i++]; } } else { while(j < lenN2) { M[k++] = N2[j++]; } } if ((lenN1 + lenN2)%2) { printf("%d",M[(lenN1+lenN2)/2]); } else { printf("%d",M[(lenN1+lenN2)/2 - 1]); } return 0; }