一种很逆天的解法,有没有大佬看看为什么错了
#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;
}