➤ Problem Link : AGGRCOW
👉 Hint : edit please
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int int arr[100001]; bool func(ll d,ll n,ll c) { ll prev=-1; if(c>n) return 0; for(ll i=0;i<n;i++) { if(i==0 || arr[i]-prev>=d) { --c; prev=arr[i]; if(c==0) return 1; } } return 0; } int main() { int t; cin>>t; while(t--) { ll n,c; cin>>n>>c; for(ll i=0;i<n;i++) cin>>arr[i]; sort(arr,arr+n); ll low=0,high=arr[n-1]-arr[0]; ll mid; while(low<high) { mid=low+(high-low+1)/2; if(func(mid,n,c)) low=mid; else high=mid-1; // cout<<mid<<" "; } cout<<high<<"\n"; } }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!