#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
int main(int argc, char **argv) {
int n1, n2;
cin >> n1;
int *pa = new int[n1];
for(int i = 0; i < n1; i ++)
scanf("%d", pa+i);
cin >> n2;
int *pb = new int[n2];
for(int i = 0; i < n2; i ++)
scanf("%d", pb+i);
register int index = 0;
int mid = (n1+n2)>>1;
if((mid << 1) != n1+n2)
mid ++;
int ia = 0, ib = 0;
for(int i = 0; i < mid; i ++) {
if(ia >= n1) {
ib ++;
index = 1;
}
else if(ib >= n2) {
ia ++;
index = 0;
}
else {
if(pa[ia] < pb[ib]) {
ia ++;
index = 0;
}
else {
ib ++;
index = 1;
}
}
}
if(!index)
cout << pa[ia-1] << endl;
else
cout << pb[ib-1] << endl;
return 0;
}
1029. Median (25) (easy way)
最新推荐文章于 2023-09-22 01:33:47 发布