Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 
[Вернуться к задаче]   1
  1  Якубов Мубинходжа Азизходжаевич, 21 марта 2026 г. 8:22:59
     #include <iostream> using namespace std; int main() { int low = 1, high = 1000000000; int ans = 1; cout << "? 1000000000" << endl; int res; cin >> res; if (res == 0) { } low = 1; high = 1000000000; ans = 1000000000; while (low <= high) { int mid = low + (high - low) / 2; if (mid == 0) { low = 1; continue; } cout << "? " << mid << endl; int r; if (!(cin >> r)) break; if (r == mid) { low = mid + 1; } else { ans = mid; high = mid - 1; } } cout << "! " << ans << endl; return 0; }
 1

Чтобы оставить сообщение необходимо зарегистрироваться и авторизоваться!

Красноярский краевой Дворец пионеров, (c)2006 - 2026, ИНН 246305493507, E-mail: admin@acmp.ru