这题只有一个测试用例,只要过了我给的这个,应该就没问题
1 1
5 5 6 7 8 9
代码逻辑有点乱。。。
code:
#include <bits/stdc++.h>
using namespace std;
#define MAX 1000001
long int a[MAX] , b[MAX];
int main (){
int m,n ;
while (cin>>n){
for (int i = 0 ; i < n ; ++i)
cin>>a[i];
cin>>m;
for (int i =0 ; i < m; ++i)
cin>>b[i] ;
int mid = (m+n) / 2 ;
if ((m+n)%2!=0)
mid++;
int p_a = 0 , p_b = 0 ;
bool isa = false ,isb = false ;
while (mid>0){
if (p_b>=m){
p_a++;
isa = true;
isb = false ;
}else if (p_a>=n){
p_b++;
isa = false ;
isb = true;
}
else if (a[p_a]>b[p_b]){
p_b++;
isa = false ;
isb = true;
}else {
p_a++;
isa = true;
isb = false ;
}
mid--;
}
// cout<<p_a<<" "<<p_b<<endl;
if (p_b>=m)
cout<<a[--p_a]<<endl;
else if (p_a>=n)
cout<<b[--p_b]<<endl;
else{
if (isa)
p_a--;
else
p_b --;
cout<<min(a[p_a] , b[p_b])<<endl;
}
}
return 0 ;
}