Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/225: Рейтинг темы: голосов - 225, средняя оценка - 4.97
0 / 0 / 0
Регистрация: 27.12.2015
Сообщений: 73

Найти минимальное время копирования на 2-х ксероксах

05.07.2016, 23:16. Показов 48516. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сегодня утром жюри решило добавить в вариант олимпиады еще одну, Очень Легкую Задачу. Ответственный секретарь Оргкомитета напечатал ее условие в одном экземпляре, и теперь ему нужно до начала олимпиады успеть сделать еще N копий. В его распоряжении имеются два ксерокса, один из которых копирует лист за х секунд, а другой – за y. (Разрешается использовать как один ксерокс, так и оба одновременно. Можно копировать не только с оригинала, но и с копии.) Помогите ему выяснить, какое минимальное время для этого потребуется.

Входные данные
На вход программы поступают три натуральных числа N, x и y, разделенные пробелом (1 ≤ N ≤ 2∙108, 1 ≤ x, y ≤ 10).

Выходные данные
Выведите одно число – минимальное время в секундах, необходимое для получения N копий.

Примеры
входные данные
4 1 1
выходные данные
3
входные данные
5 1 2
выходные данные
4
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.07.2016, 23:16
Ответы с готовыми решениями:

Найти минимальное время, необходимое для получения N копий одного документа на двух ксероксах
Добрый день, нашёл задачку, нужно решить её методом бинарного поиска ( если будут другие варианты, то тоже спасибо ). Вот сама задачка: ...

Оценить минимальное время необходимое для копирования программы на все компьютеры
В офис сделала новая компьютерная программа. Вам, как администратору, надо скопировать ее на все N имеющихся компьютеров. Сейчас программа...

2 принтера. Найти минимальное время
Решаю задачу с codeabbey Джон и Мэри основали полиграфическую компанию J&M publishing house - для этого они купили пару старых принтеров...

7
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
05.07.2016, 23:30
Цитата Сообщение от plan_z Посмотреть сообщение
Очень Легкая Задача
Так вот и реши ее сам
1
0 / 0 / 0
Регистрация: 27.12.2015
Сообщений: 73
06.07.2016, 01:27  [ТС]
она так называется...
0
103 / 69 / 19
Регистрация: 07.07.2014
Сообщений: 240
06.07.2016, 10:36
А что конкретно у вас не получается сделать?
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
06.07.2016, 14:24
Включим логику:
  1. Запускаем копирование на быстром копире min(x,y)
  2. Первую копию кладем в более медленный и запускаем копирование
  3. Решаем уравнениe
    https://www.cyberforum.ru/cgi-bin/latex.cgi?N = 1 + \frac{time - min(x,y)}{x} + \frac{time - min(x,y)}{y}
0
0 / 0 / 0
Регистрация: 14.05.2017
Сообщений: 19
15.01.2018, 10:41
Уравнение не работает. Например нам даны N=4, x=y=1, (time=3, так как в первую секунду копируется копия(одна), во вторую секунду получаем ещё две копии, в третью последнюю копию, за две секунды максимум три копии), по вашему уравнению N=1+(3-1)/1 + (3-1)/1 = 5.
0
15 / 15 / 1
Регистрация: 15.01.2018
Сообщений: 42
15.01.2018, 12:49
Есть решение на C++, думаю сами переделаете под Python(не маленькие).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int main(){
    long long n, x, y;
    cin >> n >> x >> y;
    n--;
    long long l = 0, r = n*max(x, y), m;
    while (l < r){
        m = (r + l) / 2;
        if ((m / x + m / y) < n)l = m+1;
        else r = m;
    }
    cout << r + min(x,y);
    return 0;
}
Выполнено через O(log n). То есть бинарным поиском.

Написано в старую тему, чтобы людям, которые ищут решение проблемы было удобно найти решение.
9
Заблокирован
24.07.2020, 11:28
Я переделал, прошло на сириусе. Спасибо thematdev.
Python
1
2
3
4
5
6
7
8
9
n, x, y = map(int, input().split())
L, R = 0, (n - 1) * max(x, y)
while R > L + 1:
    M = (R + L) // 2
    if (M // x + M // y) < n - 1:
        L = M
    else:
        R = M
print(R + min(x, y))
Формула:
https://www.cyberforum.ru/cgi-bin/latex.cgi?ok(x) = \begin{cases} & \text{} true: \frac{M}{X} + \frac{M}{Y} >= n - 1 \\  & \text{} false: \frac{M}{X} + \frac{M}{Y} < n - 1\end{cases}
6
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.07.2020, 11:28
Помогаю со студенческими работами здесь

НАйти максимальное и минимальное время
например 0:45:23 0:32:11 1:12:44 ответ:=1)0:32:11 ,2) 0:45:23, 3)1:12:44

Найти минимальное время прохождения трассы.
Трасса для соревнований задана в виде n -угольника , в одной из вершин которого находится место старта, а одна из сторон - линия финиша...

Найти минимальное время прохождения трассы
Трасса для соревнований задана в виде п-угол (п≥3), в одной из вершин которого находится место старта одна из сторон — линия финиша (место...

Найти минимальное время прохождения трассы.
Трасса для соревнований задана в виде n -угольника , в одной из вершин которого находится место старта, а одна из сторон - линия финиша...

Найти минимальное время обслуживания заявки в системе
Не пойму как сделать вычисление минимального времени обслуживания заявки в системе. Как я понял нужно использовать блок MARK для сохранение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru