http://ac.jobdu.com/problem.php?pid=1097
1、不用真的拿出来,合并,再找中间下标的值
2、注意下标计算,相对起始坐标。而并不一定是相对1开始的
#include <stdio.h>
int a[1000005];
int b[1000005];
int main()
{freopen("D:\\1.txt","r",stdin);
int t,n,m,i,j;
while (scanf("%d",&t)!= EOF)
{
while (t--)
{
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for (i=1;i<=m;i++)
{
scanf("%d",&b[i]);
}
int s1,e1,s2,e2;
scanf("%d%d",&s1,&e1);
scanf("%d%d",&s2,&e2);
int len1=e1-s1+1;
int len2=e2-s2+1;
int len=len1+len2;
int mid;
if (len%2==0)
{
mid=len/2;
}
else
mid=(len+1)/2;
if (mid>len1)
{
mid=mid-len1;
printf("%d\n",b[s2+mid-1]);
}
else
printf("%d\n",a[s1+mid-1]);
}
}
return 0;
}