请问有大佬知道第三个点 的数据吗,就第三个点wa了!!感谢
查看原帖
请问有大佬知道第三个点 的数据吗,就第三个点wa了!!感谢
880268
xubai66xiaohao楼主2022/11/15 15:34
import java.util.Arrays;
import java.util.Scanner;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.StreamTokenizer;

public class Main {
	 static  long L;
	 static  long n;
	 static  long m;
	 static long a[];
    public static boolean pd(long mid)
    {
    	long count=0;
    	long i=0;
    	long now=0;
    	while(i<n+1)
    	{
    		i++;
    		if(a[(int) i]-a[(int) now]<mid)
    		{
    			count++;
    			
    		}
    		else 
    		{
    			now=i;
    		}
    	}
    if(count>m)
    {
    	return false;//取太多了
    }
    else {
    	return true;//彳亍!
    }   
    }
	public static void main(String[] args) throws Exception {
	   Read in=new Read();
        L=in.nextLong();
        n=in.nextLong();
        m=in.nextLong();   
        long mid=0;
        a=new long[(int)n+2];
        a[0]=0;
        a[(int) (n+1)]=L;
       for(int i=1;i<n+1;i++)
       {
    	   a[i]=in.nextLong();
       }
       long l=0;
       long r=L;
       while(l<r)
       {
    	    mid=(l+r)/2;
    	   if(pd(mid))
    	   {
    		   l=mid+1;
    	   }
    	   else {//取太多了捏
    		   r=mid;	  
    	   }
       }
       System.out.print(l-1);
	}
}
class Read{
	StreamTokenizer st=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
	public long nextLong() throws Exception{
		st.nextToken();
		return (long)st.nval;
	}
}
2022/11/15 15:34
加载中...