求助!WA #1、#5 :-(
查看原帖
求助!WA #1、#5 :-(
635843
zhengdingkun楼主2022/12/13 19:07

代码(乱 如下:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n,m,maxi=0,mini=0x3fffffffint midd,kin,que;
	bool ai;
	cin>>n>>m;
	int a[n+1];
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		maxi=max(a[i],maxi);
		mini=min(a[i],mini);
	}
	midd=(maxi+mini)/2;
	kin=abs(maxi-midd);
	que=abs(midd-mini);
	if(kin>que)	ai=1;
	else ai=0;
	for(int i=1;i<=m;i++)
	{
		if(ai=1)
		{
			if(maxi>=2)	
            		   maxi=maxi*2;
			else maxi=maxi+2;
		}
		else if(ai=0)
		{
			if(mini>=4)	
            		   mini=mini/2;
			else mini=mini-2;
		}
	}
	cout<<maxi-mini;
	return 0;
}

思路:

找最大、最小

取中位数

判断与中位数差的大小(取差大)

最大差大

x>=2(*2)

x<2(+2)

最小差大

x>=4(/2)

x<4(+2)

#1#5过不去,求助!!!谢谢!!!

2022/12/13 19:07
加载中...