| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 34 | 6 | 6 | 33.333% |
Во время своих путешествий Сэм часто натыкался на террористов и бандитов, но сегодня он впервые встретил брошенное транспортное средство группировки из MULE.
Внутри обнаружился терминал, используя который, Сэм может перевести деньги группировки на свой счёт. Сэм решил, что деньги --- ценный ресурс, да и чем меньше их у MULE, тем проще ему будет в дальнейшем. Поэтому, он решил перевести все деньги со счёта группировки на свой счёт.
К сожалению, терминал сломан и не отображает текущий остаток на счету группировки. А Сэму доступна лишь одна операция: попробовать перевести со счёта группировки на свой счёт какое-то положительное число долларов $x$. В результате, возможны два исхода:
Также, Сэм знает, что после нескольких попыток перевода, терминал автоматически заблокируется и пошлет сигнал другим группировкам MULE. Пусть изначально на счету группировки было $n$ долларов. Обозначим за $q$ минимальное неотрицательное целое число, такое что $n \le 2^q$. Тогда терминал заблокируется, если Сэм сделает больше, чем $q + 10$ попыток перевода средств.
Сэм не хочет оставить на счету группировки ни доллара. Помогите ему сделать это.
Гарантируется, что изначально на счету группировки находится не более 10ドル^{18}$ долларов.
Для того, чтобы произвести попытку перевода $x$ долларов (1ドル \le x \le 10^{18}$), вы должны на новой строке вывести <<withdraw $x$>>. В ответ на это, интерактор выведет <<accepted>>, если попытка перевода была удачной, <<rejected>>, если неудачной, и <<fail>>, если вы совершили больше, чем $(q + 10)$ попыток перевода.
Если интерактор вывел <<fail>>, ваша программа должна немедленно завершиться, и тогда она получит вердикт WA. В противном случае, она может получить неопределенный вердикт (но не OK).
Если вы считаете, что на счету группировки не осталось средств, вы можете вывести <<finish>>, и завершить работу вашей программы. При этом, если на счету группировки действительно не осталось средств, вы получите вердикт OK, а иначе вы получите вердикт WA.
После вывода каждой строки, выводите символ перевода строки и сбрасывайте буфер потока вывода командой flush. Подробнее: https://codeforces.com/blog/entry/45307.
withdraw 42 withdraw 1 withdraw 1 finish
rejected accepted rejected
withdraw 1 finish
rejected
Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2019-2020 Season > November 23, 2019 > Basic D번
Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2019-2020 Season > November 23, 2019 > Advanced F번