求助求助急急急!!!
查看原帖
求助求助急急急!!!
777616
a1511715482楼主2022/8/20 11:01
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    static long N,M;
    static int[] A=new int[1000005];
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        N=scanner.nextInt();
        M=scanner.nextInt();
        long l=0,r=0;
        for (int i = 0; i < N; i++) {
            A[i]=scanner.nextInt();
            r=Math.max(r,A[i]);
        }
        while (l<r){
            long mid=(l+r+1)/2;
            if(check(mid))l=mid;
            else r=mid-1;
        }
        System.out.println(l);
    }
    public static boolean check(long mid){
        int sum=0;
        for (int i = 0; i < N; i++) {
            if(A[i]>mid)sum+=(A[i]-mid);
        }
        if(sum>=M)return true;
        else return false;
    }
}

70分过不了了

2022/8/20 11:01
加载中...