Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define d(x) cout << #x << " = " << (x) << endl;
- #define fr freopen("in.txt", "r", stdin);
- #define fw freopen("out.txt", "w", stdout);
- #define mem(x) memset((x), 0, sizeof((x)));
- #define pb push_back
- #define LL long long
- #define fastIO ios_base::sync_with_stdio(false)
- #define sf scanf
- #define pf printf
- #define SQR(x) ((x)*(x))
- #define sc1(x) scanf("%d", &x)
- #define scb(x, y) scanf("%d %d", &x, &y)
- #define sc3(x, y, z) scanf("%d %d %d", &x, &y, &z)
- #define FOR(i, x, y) for(int i=int(x); i<int(y); i++)
- #define ROF(i, x, y) for(int i=int(x-1); i>=int(y); i--)
- #define all(c) (c.begin(), c.end())
- #define unq(v) sort(all(v)), (v).erase(unique(all(v)),v.end())
- #define EPSILON (1.0E-9)
- #define siz 100000
- #define s 1000000
- int main(){
- #ifndef ONLINE_JUDGE
- clock_t tStart = clock();
- freopen("in.txt", "r", stdin);
- freopen("out.txt", "w", stdout);
- #endif
- int tc;
- cin >> tc;
- for(int tr = 1; tr <= tc; tr++){
- int n;
- cin >> n;
- int c;
- cin >> c;
- int ara[n];
- for(int i = 0; i < n; i++){
- cin >> ara[i];
- }
- sort(ara, ara+n);
- //Print Array
- // for(int i = 0; i < n; i++){
- // cout << ara[i] << " ";
- // }
- int lo = 0;
- int hi = ara[n-1];
- int x = (hi+lo)/2;
- while(lo < hi-1){
- x = (hi+lo)/2;
- int dist = 0;
- int cow = 1;
- for(int i = 1; i < n; i++){
- dist += ara[i]-ara[i-1];
- if(dist >= x){
- cow++;
- dist = 0;
- }
- }
- if(cow < c){
- hi = x;
- }
- else{
- lo = x;
- }
- }
- cout << lo << endl;
- }
- #ifndef ONLINE_JUDGE
- printf("\n>>Time taken: %.10fs\n", (double) (clock() - tStart) / CLOCKS_PER_SEC);
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement