Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define ll long long
- #define _test int _TEST; cin>>_TEST; while(_TEST--)
- #define pb push_back
- #define ppb pop_back
- int main()
- {
- _test
- {
- int n;
- cin>>n;
- vector<int> a(n);
- for(auto &e: a)
- cin>>e;
- sort(a.begin(), a.end());
- auto possible = [&](int x)
- {
- int i=0, j=0;
- while(j<n && (a[j]-a[i]+1)/2<=x) j++;
- i = j;
- while(j<n && (a[j]-a[i]+1)/2<=x) j++;
- i = j;
- while(j<n && (a[j]-a[i]+1)/2<=x) j++;
- i = j;
- return (j == n);
- };
- int ans = 1e9;
- int low=0, high=1e9;
- while(low <= high)
- {
- int mid = (low+high)/2;
- if(possible(mid))
- ans=mid, high=mid-1;
- else
- low=mid+1;
- }
- cout<<ans<<"\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment