Hello, can someone explain me in this question BINARY SEARCH for the test case 3 1 2 my answer is giving answer 2 but the judge says it should be 0. Can someone explain me this test case. thanks in advance. 96599228
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3792 |
| 2 | VivaciousAubergine | 3647 |
| 3 | Kevin114514 | 3611 |
| 4 | jiangly | 3583 |
| 5 | strapple | 3515 |
| 6 | tourist | 3470 |
| 7 | dXqwq | 3436 |
| 8 | Radewoosh | 3415 |
| 9 | Otomachi_Una | 3413 |
| 10 | Um_nik | 3376 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 162 |
| 2 | adamant | 150 |
| 3 | Um_nik | 146 |
| 4 | Dominater069 | 144 |
| 5 | errorgorn | 141 |
| 6 | cry | 139 |
| 7 | Proof_by_QED | 136 |
| 8 | YuukiS | 135 |
| 9 | chromate00 | 134 |
| 9 | TheScrasse | 134 |
Hello, can someone explain me in this question BINARY SEARCH for the test case 3 1 2 my answer is giving answer 2 but the judge says it should be 0. Can someone explain me this test case. thanks in advance. 96599228
| Name |
|---|



Their binary search is a bit different in the sense that they keep going even after finding x.
Here if we consider 1 3 2 and 2 1 3. Apply BS implementation.
So for 1 3 2
left = 0, right = 3givesmid = 1, since a[1] = 3(it's fixed) soleft = 1(mid) + 1 = 2.Now we have
left = 2, right = 3.Again calculating mid,
mid = 2, Now no matter what you place 1 or 2 in position = 2, you will always satisfya[mid] <= x, soleft = 2(mid) + 1i.e,left = 3, right = 3and now BS will terminate.So you see now if you do
a[left-1] == x, it's not true. So the answer will be 0.got it !!!! thanks