Java贪心为什么不能过
查看原帖
Java贪心为什么不能过
1200862
while_111楼主2024/9/16 17:40

import java.util.*;
public class Main {
    public static void main(String[] args) {
        int n,w;
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        w = sc.nextInt();
        double[] arr = new double[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextDouble();
        }
        Arrays.sort(arr);
        //尽力保证每个缆车装的cat足够多
        int i=0,j=n-1;
        double ans=0,cur=arr[n-1];
        while (i < j) {
            if (arr[i] + cur > w){
                cur=0;
                j-=1;
                cur += arr[j];
                ans++;
            }
            else{
                cur += arr[i];
                i++;
            }
        }
        if(cur>0) ans++;

        System.out.println(ans);


    }
}

2024/9/16 17:40
加载中...