救命
  • 板块灌水区
  • 楼主bing_dwen_dwen
  • 当前回复20
  • 已保存回复20
  • 发布时间2022/12/25 09:36
  • 上次更新2023/10/24 06:42:22
查看原帖
救命
678279
bing_dwen_dwen楼主2022/12/25 09:36

输出不太对

悬赏关注*2;

#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

2022/12/25 09:36
加载中...