Can someone help me with Step-2 C: Very Easy Task
Problem Link : https://codeforces.com/edu/course/2/lesson/6/2/practice/contest/283932/problem/C
My Approach: if the task can be done in T time, then 1(good) else 0 (bad). So, making 1 copy of the original document will take min(x,y) time, and then both copy machines can simultaneously work.
we need to check whether n copies can be made in T time or not, if I am updating T1 = T-min(x,y) and then checking that can I make n-1 copies in T1 time. Then find the first occurrence of 1 using binary search. It is throwing me an error "Wrong Answer on test case 5"
Actual Approach : we need to check whether n-1 copies can be made in T time or not. Then, by using binary search find the first occurrence of 1 as it will be the least time to make n-1 copies, and then adding min(x,y) as it will be the time to make the copy of original.
I dont know, where am I making mistake, both logics seems similar to me.
Your logic is correct, the implementation is a bit off.
In the check function, there might be a case when "mid" becomes negative, in that case if abs(mid) is less than "x" and "y", "res" would be "0", losing the negativeness. C++ treats $$$-a/b$$$ as 0, when $$$a < b$$$, the negativity is not preserved. To ensure that just make sure mid is non-negative. AC Code
hey, thanks alot!
I will check this out, thanks for helping i was struggling with this since a very long time.