分析:マージ後の2つの配列の中央値を見つけます。1、2、3、4の中央値は2です。
初めて書いたときは、合格率が低すぎてあえて試してみなかったのですが、このレビューでは簡単な方法を使いました。
他の人が自慢したいと言っているのを見ると、~~~
#include <iostream>
#include<cstring>
#include<vector>
#include<stdio.h>
#include<queue>
#include<math.h>
#include<stack>
#include<algorithm>
#include<map>
#include<set>
#define MAX 99999999
using namespace std;
typedef long long ll;
ll a[4000001];
int main()
{
ll n,m;
scanf("%lld",&n);
ll i =0;
for(i = 0;i<n;i++){
scanf("%lld",&a[i]);
}
scanf("%lld",&m);
for(;i<m+n;i++){
scanf("%lld",&a[i]);
}
sort(a,a+n+m);
ll med = (n+m)/2;
if((n+m) % 2 == 0)
med --;
cout<<a[med];
return 0;
}