时间限制:2 秒
内存限制:32 兆
特殊判题:否
提交:466
解决:171
-
题目描述:
-
输入两个递增的序列,输出合并这两个序列后的递增序列。
-
输入:
-
每个测试案例包括3行:
第一行为1个整数n(1<=n<=1000000)表示这两个递增序列的长度。
第二行包含n个整数,表示第一个递增序列。
第三行包含n个整数,表示第二个递增序列。
-
输出:
-
对应每个测试案例,输出合并这两个序列后的递增序列。
-
样例输入:
-
41 3 5 72 4 6 8
-
样例输出:
-
1 2 3 4 5 6 7 8
-
-
//超时 /*#include<iostream> #include<algorithm> using namespace std; int a[2000020]; int main() { int n,i; while(cin>>n) { for(i=0;i<2*n;i++) cin>>a[i]; sort(a,a+2*n); for(i=0;i<2*n-1;i++) cout<<a[i]<<" "; cout<<a[2*n-1]<<endl; } return 0; } */ #include<stdio.h> #include<stdlib.h> int a[2000020]; int cmp(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main() { int n,i; while(scanf("%d",&n)!=EOF) { for(i=0;i<2*n;i++) scanf("%d",&a[i]); qsort(a,2*n,sizeof(a[0]),cmp); for(i=0;i<2*n-1;i++) printf("%d ",a[i]); printf("%d\n",a[2*n-1]); } return 0; }