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

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


 
[Вернуться к задаче]   1
  1  Якубов Мубинходжа Азизходжаевич, 21 марта 2026 г. 8:17:43
     #include <iostream> using namespace std; typedef long long ll; bool check(ll days, ll a, ll k, ll b, ll m, ll x) { ll workA = days - days / k; ll workB = days - days / m; if (a > 0 && workA > (2e18 / a)) return true; ll totalA = a * workA; if (b > 0 && workB > (2e18 / b)) return true; ll totalB = b * workB; return totalA >= x - totalB; } int main() { ll a, k, b, m, x; if (!(cin >> a >> k >> b >> m >> x)) return 0; ll left = 0; ll right = 2e18; ll ans = right; while (left <= right) { ll mid = left + (right - left) / 2; if (check(mid, a, k, b, m, x)) { ans = mid; right = mid - 1; } else { left = mid + 1; } } cout << ans << endl; return 0; }
  2  Скрыпко Павел Викторович, 21 декабря 2025 г. 22:51:30
     Тот случай, когда полезно знать кроме c++ ещё основы Python. Гораздо быстрее на олимпиаде перейти на другой ЯП, быстро оформить стандартный код и идти дальше, а не думать, как обойти проблему переполнения.
  3  Савенков Павел Александрович, 25 октября 2025 г. 18:27:12
     А, ой, не туда посмтрел
  4  Савенков Павел Александрович, 25 октября 2025 г. 18:26:26
     А что выводить при n=m=1?
  5  Ермуханов Ислам Нурланович, 26 мая 2025 г. 12:27:40
     у кого не получается попробуйте __int128
 1

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

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