题解及证明:http://www.cnblogs.com/StupidBoy/p/5241258.html
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,a[100100],b[100100];
int main()
{
//freopen("h.in","r",stdin);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;++i)
scanf("%d",&a[i]);
for(int i=1;i<=m;++i)
scanf("%d",&b[i]);
int ans=0;
for(int i=2;i<n;++i)
ans=max(min(b[1],min(b[m],a[i])),ans);
ans=max(ans,min(a[1],b[m]));
ans=max(ans,min(b[1],a[n]));
for(int i=2;i<m;++i)
ans=max(min(a[1],min(a[n],b[i])),ans);
printf("%d\n",ans);
return 0;
}