社区讨论

救命

灌水区参与者 8已保存回复 20

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
20 条
当前快照
1 份
快照标识符
@lo3hggyg
此快照首次捕获于
2023/10/24 06:42
2 年前
此快照最后确认于
2023/10/24 06:42
2 年前
查看原帖
输出不太对
悬赏关注*2;
CPP
#pragma comment(linker,"/stack:200000000")
#pragma GCC optimize("Ofast,no-stack-protector")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#include<bits/stdc++.h>
using namespace std;
long long a[10000000],tmp[10000000];
void merge(int l, int r) {
  if (r - l <= 1) return;
  int mid = l + ((r - l) >> 1);
  merge(l, mid), merge(mid, r);
  for (int i = l, j = mid, k = l; k < r; ++k) {
    if (j == r || (i < mid && a[i] <= a[j]))
      tmp[k] = a[i++];
    else
      tmp[k] = a[j++];
  }
  for (int i = l; i < r; ++i) a[i] = tmp[i];
}
inline int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){
        if(ch=='-')
            f=-1;
        ch=getchar();
    }
    while(ch>='0'&&ch<='9'){
        x=(x<<1)+(x<<3)+(ch^48);
        ch=getchar();
    }
    return x*f;
}
int main()
{
	long long m=read(),n=read();
	long long nm=n+m;
	for(int i=1;i<=nm;i++)
	{
		a[i]=read();
	}
	merge(1,n);
	for(int i=1;i<=nm;i++)
	{
		cout<<a[i]<<" ";
	}
	return 0;
}

输入:
3 3
1 2 3
2 3 4
输出:
1 2 2 3 3 4

回复

20 条回复,欢迎继续交流。

正在加载回复...