实在不能理解,是哪一种情况没考虑到,就是通过不了,求大佬解答
import java.util.Scanner;
import java.util.Arrays;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//在此输入您的代码...
int N = scan.nextInt();
long [] arr = new long[N];
for(int i=0;i<N;i++){
arr[i]=scan.nextInt();
}
Arrays.sort(arr);
int k=0;// 购买商品数量,遇2归零
int end = N-1;//从最大的开始
int huaxiao = 0;//总花销
int miandan = 0;//免单的索引
for (int i = 0; i < N; i++) {
if (k==2){
for (int j = 0; j < N; j++) {
if(arr[j]<=arr[end+1]/2){
miandan++;
}
}
if(miandan!=0)miandan--;
if(miandan!=0||arr[miandan]<=arr[end+1]/2)arr[miandan]=0;
}
huaxiao+=arr[end];
if (end!=0)end--;
if (k==2)k=0;
if (arr[end]!=0)k++;
}
System.out.println(huaxiao);
scan.close();
}
}