1029. Median (25)

归并排序的核心Merge函数思想很经典!

 1 #include <cstdio>
 2 
 3 const int maxn  = 1000010;
 4 
 5 int a[maxn],b[maxn];
 6 
 7 int main()
 8 {
 9     int m,n;
10     scanf("%d",&m);
11     for(int i=0;i<m;i++)
12        scanf("%d",a+i);
13     scanf("%d",&n);
14     for(int i=0;i<n;i++)
15        scanf("%d",b+i);
16     int mid = (m+n-1)/2;
17     int tmp,i=0,j=0;
18     for(int k=0;k<=mid;k++){
19         if(i>=m)   tmp = b[j++];
20         else if(j>=n)   tmp = a[i++];
21         else if(a[i]<b[j])   tmp = a[i++];
22         else   tmp = b[j++];
23     }
24     printf("%d",tmp);
25     return 0;
26 }

 

posted @ 2015-03-05 10:49  Fcp1024  阅读(187)  评论(0)    收藏  举报