Submit | All submissions | Best solutions | Back to list |
AGGRCOW - Aggressive cows |
Farmer John has built a new long barn, with N (2 ≤ N ≤ 100,000) stalls. The stalls are located along a straight line at positions x1 ... xN (0 ≤ xi ≤ 1,000,000,000).
His C (2 ≤ C ≤ N) cows don't like this barn layout and become aggressive towards each other once put into a stall. To prevent the cows from hurting each other, FJ wants to assign the cows to the stalls, such that the minimum distance between any two of them is as large as possible. What is the largest minimum distance?
Input
t – the number of test cases, then t test cases follows.
- Line 1: Two space-separated integers: N and C
- Lines 2..N+1: Line i+1 contains an integer stall location, xi
Output
For each test case output one integer: the largest minimum distance.
Example
Input: 1 5 3 1 2 8 4 9 Output: 3
Explanation
FJ can put his 3 cows in the stalls at positions 1, 4 and 8, resulting in a minimum distance of 3.
Added by: | Roman Sol |
Date: | 2005-02-16 |
Time limit: | 2s |
Source limit: | 10000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All |
Resource: | USACO February 2005 Gold Division |
hide comments
|
||||||||||||||
2018-10-18 18:01:27
This will help you in, How to come up with binary search solution https://journeywithdp.blogspot.com/2018/10/how-to-approach-binary-search-problems.html Last edit: 2018-10-18 18:01:43 |
||||||||||||||
2018-10-16 16:41:57
For Those who are struggling to identify how it is binary search will check the topcoder tutorial. Basically last example of this article : https://www.topcoder.com/community/competitive-programming/tutorials/binary-search The last example of this article gives you insight of how to use binary search in these types of problem.. |
||||||||||||||
2018-10-06 07:10:42
what is worst that happend with you in life? with me I forgot one endl and ended up with 3 WA Last edit: 2018-10-06 07:26:29 |
||||||||||||||
2018-09-10 15:00:51
Got AC :D |
||||||||||||||
2018-07-12 08:23:56
why 1 4 9 is not the answer of given example?? |
||||||||||||||
2018-07-03 07:18:36
Don't see any kind of solution. |
||||||||||||||
2018-06-27 09:34:57
Good problem ..Must for beginners... |
||||||||||||||
2018-06-26 13:17:16
Great one, If you know what is binary search but you aren't able to crack the trick. Check Geeksforgeeks tutorial. Last edit: 2018-06-26 13:17:54 |
||||||||||||||
2018-06-16 20:22:48
0.01s Initially, I was getting 0.07s but after following optimizations reached 0.01s 1. std::ios::sync_with_stdio(false) 2. Traversed the array once and found the least difference between two consecutive array elements. Initialised the lo of binary search with this difference. 3. The max possible solution to this problem for any given case can be (n - c)/(c - 1). This formula can be easily formulated using pigeonhole principle. Initialise the hi of binary search with this value + 1 (just to be safe, integer division can cause truncation). Also, I was using vector instead of an array. Switched to array and shaved off 0.02s. Last edit: 2018-06-16 20:24:06 |
||||||||||||||
2018-06-14 22:13:04
If you don't get the it, just read Topcoder tutorial carefully. Really recommended to understand how binary search can work in various ways. Last edit: 2019-07-08 00:40:53 |