4 solutions

  • 0
    @ 2025-7-26 10:22:57
    #include<bits/stdc++.h>
    using namespace std;
    int a[200005],c,n,l,r;
    int ch(int x){
    	int z=1,w=a[1];
    	for(int i=2;i<=n;i++) {
    		if(a[i]-w>=x) {
    			w=a[i];
    			z++;
    		}
    	}
    	return z>=c;
    }
    int main(){
    	cin>>n>>c;
    	for(int i=1;i<=n;i++) {
    		cin>>a[i];
    	}
    	sort(a+1,a+1+n);
    	l=0,r=1e9+7;
    	while(l+1<r) {
    		int mid=(l+r)/2;
    		if(ch(mid)) {
    			l=mid;
    		}else{
    			r=mid;
    		}
    	}
    	cout<<l;
    	return 0;
    }
    
    

    Information

    ID
    5879
    Time
    1000ms
    Memory
    125MiB
    Difficulty
    3
    Tags
    # Submissions
    67
    Accepted
    33
    Uploaded By