求大佬看看三个点WA,实在找不出来哪错了
查看原帖
求大佬看看三个点WA,实在找不出来哪错了
934810
1737923221dayang楼主2023/3/28 21:10
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.util.Arrays;
public class Main {
    static int n;
    static int[] t=new int[1000010];
    static int len;
    public static void main(String[] args) throws Exception {
        Read sc=new Read();
        n=sc.nextInt();
        len=sc.nextInt();
        for(int i=0;i<n;i++){
            t[i]=sc.nextInt();
        }
        Arrays.sort(t,0,n);
        int l=t[0];
        int r=t[n-1];
        while(l<r){
            int mid=l+r+1>>1;
            if(check(mid)==true) l=mid;
            else r=mid-1;
        }
        System.out.print(l);

    }
    static boolean check(int h){
        int sum=0;
        for(int i=0;i<n;i++){
            if(t[i]>h) sum+=(t[i]-h);
        }
        if(sum>=len) return true;
        else return false;
    }
}
class Read {
    StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));

    public int nextInt() throws Exception {
        st.nextToken();
        return (int) st.nval;
    }
}
2023/3/28 21:10
加载中...