PAT-A1029. Median (25)

来源:互联网 发布:sql语句中系统时间 编辑:程序博客网 时间:2024/06/07 17:25

水,注意下标从0开始,所以中间是,(m+n-1)/2。

从0开始中间为,中间为(m+n-1)/2#include <iostream>#include <cstring>#include <cstdio>#include <cstdlib>using namespace std;#define MAX 10000000+10long int  a[MAX], b[MAX], c[2*MAX];int cmp(const void *a, const void *b){return *(int*)a - *(int*)b;}int main(){freopen("in.txt", "r", stdin);//freopen("out.txt", "w", stdout);int m = 0, n = 0;scanf("%d", &m);for (int i = 0; i < m; i++)scanf("%ld", &a[i]);scanf("%d", &n);for (int i = 0; i < n; i++)scanf("%ld", &b[i]);int i = 0, j = 0, k = 0;while (i < m && j < n){if (a[i] == b[j]){c[k++] = a[i++];c[k++] = b[j++];}else if (a[i] < b[j]){c[k++] = a[i++];}else{c[k++] = b[j++];}}while (i < m)c[k++] = a[i++];while (j < n)c[k++] = b[j++];printf("%ld", c[(m+n-1)/2]);return 0;}


0 0
原创粉丝点击