HELP
查看原帖
HELP
531600
JLBC楼主2024/8/6 10:50

一种很逆天的解法,有没有大佬看看为什么错了

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n;
	cin >> n;
	int m;
	cin >> m;
	int a[n];
	for(int i=0;i<n;i++){
		cin >> a[i];
	}
	sort(a,a+n);
	int max,min;
	max = a[n-1];
	min = a[0];
	if(abs(max)>=abs(min) && abs(max)>=2){
		for(int j=0;j<m;j++){
			max = max*2;
		}
		cout << max-min;
		return 0;
	}
	if(abs(max)>=abs(min) && abs(max)<2){
		max = max+2;
		m--;
		for(int j=0;j<m;j++){
			max = max*2;
		}
		cout << max-min;
		return 0;
	}
	if(abs(max)<abs(min) && abs(min)>=2){
		for(int j=0;j<m;j++){
			min = min*2;
		}
		cout << max-min;
		return 0;
	}
	if(abs(max)<abs(min) && abs(min)<2){
		min = min-2;
		m--;
		for(int j=0;j<m;j++){
			min = min*2;
		}
		cout << max-min;
		return 0;
	}
	return 0;
}
2024/8/6 10:50
加载中...