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
Output details:
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
|
||||||||||||||
2015-11-26 13:56:23 Sid
If you are wondering why 1,4,8 instead of 1,4,9 then do not. For me its actually a subtle hint for applying binary search. You will understand it when you apply the algo. Also if you are confused by the "minimum largest" terminology think of it as this: if you put cows at 1,2,8. Distance btw stalls is 1, 6 resp. but if you keep at 1,4,8 distance is 3, 4. In first case minimum distance is 1 while 2nd case its 3. You can never put cows that gives a minimum that is larger than 3 i.e. distance cannot be 4,5 or 6,7 (where mins 4 and 6 > 3) so the largest minimum is 3. Just keep that in mind and Farmer John will be happy with you! ;D Hey @darkhire21 I don't think its required as int can store 4 bytes i.e. nos. till ~ 2 billion. the limit given is 1 billion. So until the algo overflows due to complex arithmetic int is enough. For binary search go for google for topcoder binary search tutorial or search through comments as someone has posted the link Last edit: 2015-11-26 14:07:28 |
||||||||||||||
2015-11-06 22:20:23
<p>int-> long got accepted .</p> Anybody knows how its possible int == long 4 byte ? . |
||||||||||||||
2015-11-03 13:07:35
Last edit: 2015-11-03 17:32:51 |
||||||||||||||
2015-10-23 19:49:50 Rahul sant
Nice question,,just think whether a particular distance can be used as a minimum largest distance or not.. |
||||||||||||||
2015-10-23 19:05:35
learned a lot from this ...!! a must do problem for beginners!! |
||||||||||||||
2015-10-19 21:32:00
Last edit: 2015-10-21 17:52:43 |
||||||||||||||
2015-10-03 08:31:57 .::High::Voltage::.
Please someone explain me how to do this problem as topcoder website is not working . |
||||||||||||||
2015-09-30 21:32:46 Mit
Superb concept! Highly recommended problem. |
||||||||||||||
2015-09-18 10:57:03 thirupathireddy
good one on binary search............. |
||||||||||||||
2015-09-10 19:31:43 Sriharshaa Sammeta
Though it would be good if you figure out for yourself....still.... check for these corner cases: 1 3 3 0 1000000000 500000000 Ans: 500000000 Also check for repetitive values: 1 10 3 1 2 9 8 4 4 8 9 2 1 Ans: 3 If these too pass then most probably it's an AC :D |