Бросьте в меня помидор, но я не понимаю почему так. Что-то не так с тестом в этом условии.
В одном из тестов:
***--- in ---***
9 4 3
***---***
В ответе 4. Но по логике должно быть 5, ведь:
1 2 3 4 5 6 7 8 9, где от 1 до 4 - а, а после позиции для Пети.
Мучает этот вопрос. Кажется тест рагульный какой-то.
В условии сказано - "не более b человек", значит можно b не считать, так как количество людей b может равнятся нулю.
в шеренге стоит 9 человек, включая петю
если петр встанет на место 9, то за ним будет 0 человек, не более 3
если петр встанет на место 8, то за ним будет 1 человек, не более 3
если петр встанет на место 7, то за ним будет 2 человека, не более 3
если петр встанет на место 6, то за ним будет 3 человека, не более 3
если петр встанет на место 5, то за ним будет 4 человека, удивительно, но 4 больше 3, поэтому позиция номер 5 не канает.
=========================================================
цитата из условия "Он может сказать, что перед ним стоит не менее
a человек, а после него — не более b человек"
на позиции 1 петя может сказать, что перед ним стоит
0 человек, а после него 8 человек !(0 < 4) && !(8 > 3) == false
на позиции 2 петя может сказать, что перед ним стоит
1 человек, а после него 7 человек !(1 < 4) && !(7 > 3) == false
на позиции 3 петя может сказать, что перед ним стоит
2 человек, а после него 6 человек !(2 < 4) && !(6 > 3) == false
на позиции 4 петя может сказать, что перед ним стоит
3 человек, а после него 5 человек !(3 < 4) && !(5 > 3) == false
на позиции 5 петя может сказать, что перед ним стоит
4 человек, а после него 4 человек !(4 < 4) && !(4 > 3) == false
на позиции 6 петя может сказать, что перед ним стоит
5 человек, а после него 3 человек !(5 < 4) && !(3 > 3) == true
на позиции 7 петя может сказать, что перед ним стоит
6 человек, а после него 2 человек !(6 < 4) && !(2 > 3) == true
на позиции 8 петя может сказать, что перед ним стоит
7 человек, а после него 1 человек !(7 < 4) && !(1 > 3) == true
на позиции 9 петя может сказать, что перед ним стоит
8 человек, а после него 0 человек !(8 < 4) && !(0 > 3) == true