社区讨论

不懂

B4066[GESP202412 三级] 数字替换参与者 2已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@miiyysdz
此快照首次捕获于
2025/11/28 22:40
3 个月前
此快照最后确认于
2025/11/29 18:40
3 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
void happy(int a[],int n)
{
	int i=0,j=n-1,t=a[0];
	while(j>i)
	{
		for(;j>i && a[j]>t;j--);
		if(j>i)
			a[i++]=a[j];
		for(;j>i && a[i]<t;i++);
		if(j>i)
			a[j--]=a[i];
	}
	a[i]=t;
	if(i>1)
		happy(a,i);
	if(n-i-1>1)
		happy(a+i+1,n-i-1);
}
int main()
{
	long long n,i,p;
	cin>>n>>p;
	int a[n];
	for(i=0;i<n;i++){
		cin>>a[i];
	}
	happy(a,n);
	for(i=0;i<n;i++)
	{
		if(a[i]>p)
			a[i]=a[0];
		else
			continue;
	}
	for(i=0;i<n;i++) 
		cout<<a[i]<<" ";
	return 0;
 } 

回复

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

正在加载回复...