Logo
(追記) (追記ここまで)

28751번 - Быстрый перевод 다국어인터랙티브

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB346633.333%

문제

Во время своих путешествий Сэм часто натыкался на террористов и бандитов, но сегодня он впервые встретил брошенное транспортное средство группировки из MULE.

Внутри обнаружился терминал, используя который, Сэм может перевести деньги группировки на свой счёт. Сэм решил, что деньги --- ценный ресурс, да и чем меньше их у MULE, тем проще ему будет в дальнейшем. Поэтому, он решил перевести все деньги со счёта группировки на свой счёт.

К сожалению, терминал сломан и не отображает текущий остаток на счету группировки. А Сэму доступна лишь одна операция: попробовать перевести со счёта группировки на свой счёт какое-то положительное число долларов $x$. В результате, возможны два исхода:

  • Если на счету группировки было хотя бы $x$ долларов, терминал сообщит, что операция успешно произведена. Со счёта группировки спишутся $x$ долларов и зачислятся на счёт Сэма.
  • Если на счету группировки было меньше $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.

예제 입력 1

withdraw 42
withdraw 1
withdraw 1
finish

예제 출력 1

rejected
accepted
rejected

예제 입력 2

withdraw 1
finish

예제 출력 2

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번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /