PAT1025

#include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
using namespace std;
const int maxn=1000010;
int a[maxn],b[maxn],c[maxn];


int main()
{
int   n,m;
cin>>n;
for(long i=0;i<n;i++)
{
cin>>a[i];
}
a[n]=0x7fffffff;
cin>>m;
for(long i=0;i<m;i++)
{
cin>>b[i];
}
b[m]=0x7fffffff;
long mid=(n+m)/2;
if ((mid*2)<(n+m))
{
mid++;
}
long  num=1;


long x=0;
long j=0;
while(num<=mid)
{
if (a[x]<b[j])
{
c[num]=a[x];
x++;
num++;
}
else
{
c[num]=b[j];
j++;
num++;
}
}
cout<<c[mid];
system("pause");
return 0;

}

注意点

1.空间问题,将数字定义为全局变量即可。

2.本题用归并排序

猜你喜欢

转载自blog.csdn.net/qq_32631151/article/details/79303769