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

William and Cards

02.11.2022, 20:58. Показов 360. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
лимит времени на тест7,5 секунд
лимит памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Уильям любит играть в карты. В этой конкретной игре Уильяму раздается ряд из N игральных карт. Каждая из карт имеет положительное целое число очков, где i-я карта в ряду имеет количество очков, равное pi.

Цель карточной игры состоит в том, чтобы минимизировать максимальное количество очков среди всех карт, которые есть у Уильяма. Для этого Уильяму разрешено проводить операции. Для любого 1≤i<N Уильям может разделить число пи пополам и удвоить число пи−1, если число пи — четное число. Уильям может выполнять столько операций, сколько пожелает.

Если Уильям выполняет операции оптимально, можете ли вы вычислить минимальное максимальное количество баллов, которое он может получить?

Вход
Ввод начнется со строки, содержащей одно целое число N (1≤N≤105). В следующей строке через пробел будут записаны N целых чисел p0,…,pN−1 (1≤pi≤109) — начальные значения очков N игральных карт, которые раздали Уильяму.

Выход
Выходные данные должны состоять из одного целого числа, представляющего минимальное максимальное количество очков среди всех карт, которые раздаются Уильяму, при условии, что он выполняет оптимальные операции.

Пример
input
5
1 25 36 80 12
вывод
25

Я написал громоздкий код, но он только на 9 тестах работает.
nec1 находит максимальное нечетное число nech в списке. st находит максимальную степень двойки, на которую делятся оба числа. f1 меняет список, чтобы максимальное и минимальное числа приблизить друг к другу. Он выводит максимальное нечётное число после преобразований и где-то в этом ошибка, потому что ответом может быть и чётное число. Помогите добить этот код или предложите свой
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import math
n = int(input())
*a, = map(int,input().split())
a1=a
def nec(a1):
    f =True
    while f==True:
        nech = max(a1)
        if nech%2==1:
            f = False
        else:
            a1[a1.index(nech)] //=2
    return nech
def st(x,y):
    b1 = 2
    f =True
    while True:
        if x%2==0 and y%2==0:
            b1*=2
            st(a[i1], a[i2])
        else:
            f = False
    return b1//2
def f1(a):
    a1 = a
    nech1 = nec(a1)
    if nech1==max(a):
        return nech1
    m1 = max(a)
    i1=a.index(m1)
    m2 = min(a[0:i1])
    i2= a,index(m2)
    gg = st(a[i1],a[i2])
    a[i1],a[i2]=a[i1]//gg,a[i2]//gg
    return f1(a)
print(f1(a))
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.11.2022, 20:58
Ответы с готовыми решениями:

Задача William and Robot
лимит времени на тест 1 секунда лимит памяти на тест 256 мегабайт ввод стандартный ввод вывод стандартный вывод Уильям играет в...

Не работает клиент William hill. Служба поддержки бессильна
Добрый день! Обращаюсь к вам с последней надеждой! Клиент перестал работать после обновления, скрин ошибки прикреплю. В окошке ввода пароля...

Вильям Вингейт (William Wingate) заведует службой анализа рынка пиццы
Вильям Вингейт (William Wingate) заведует службой анализа рынка пиццы. О каждой пицце он записывает следующую информацию: •...

3
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
02.11.2022, 21:29
Цитата Сообщение от giknes Посмотреть сообщение
Уильям может разделить число пи пополам и удвоить число пи−1, если число пи — четное число. Уильям может выполнять столько операций, сколько пожелае
пи - это 3,14159... Его еще Архимед вычислял. Оно не может быть четным.
0
Вирусоборец
 Аватар для thyrex
14450 / 7489 / 1582
Регистрация: 06.09.2009
Сообщений: 27,133
02.11.2022, 21:53
Red white socks, ну не может автор нормально написать pi и pi-1
0
Эксперт Python
 Аватар для Red white socks
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
02.11.2022, 22:10
thyrex, не может или не хочет? Я лично воспринимаю данный текст как форму хамства и неуважения по отношению к участникам форума. Отношение к его автору тоже становится соответствующим.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.11.2022, 22:10
Помогаю со студенческими работами здесь

I. Cards
Правивший в конце XVIII века в Байтландии король Байтовик XVII как-то издал указ, запрещающий игральные карты на всей территории страны....

Выгрузка из cards.dll
Столкнулся с проблемой, при выгрузке cards.dll выдается ошибка &quot;CARDS.DLL не предназначена для выполнения в windows и тд&quot; Код: ...

Generics and Wild Cards
Люди привет! Хотел узнать у понимающих какая разница между метасимволами/масками и дженериками ? Трудная тема для человека который...

APEX Checkbox в Cards
Здравствуйте, уважаемые форумчане! Прошу помочь с настройкой checkbox, чтобы при клике отображались нужные карточки. Прикрепляю код с...

configuring video cards
How to configure it corecltly?


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru