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

Оптимальное Общение

16.09.2021, 18:04. Показов 1477. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
На сегодняшнее занятие курса пришло 2n человек, включая Григория. Для каждого из людей известна его открытость к общению — у i-го человека она равна ai. Ментор решил разбить людей на n пар для общения и считает, что польза разговора между людьми i и j равна сумме их открытостей, то есть ai+aj.

Разумеется, ментор также одинаково заботится о всех людях, которые ходят на курс и платят ему за это много денег, поэтому он хочет, чтобы каждый человек вынес для себя как можно больше из сегодняшнего занятия. Для этого он планирует разбить их на пары таким образом, чтобы минимальная полученная польза была как можно больше.

Входные данные
В первой строке дано единственное число 2n — количество участников сегодняшнего занятия (1⩽n⩽50000).

В следующей строке через пробел даны 2n чисел ai — открытости к общению каждого человека (−108⩽ai⩽108).

Выходные данные
Выведите n пар чисел, каждую пару на своей строке. В i-й строке выведите номера людей, которых надо сопоставить друг другу, чтобы минимальная из польз разговоров была как можно больше.

Разумеется, каждый человек должен быть ровно в одной паре.

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

Более оптимальное решение 5 задачи
есть задачка я решил её, но она работает очень долго(~60 сек) может кто знает как можно оптимизировать, чтобы работала хотя бы менее 15...

Какое есть более оптимальное решение этой задачи?
f = open('24/24-11.txt') s = '111122229999' k=kmax = 0 for i in range(len(s)-3): for j in range(i,len(s),4): if...

Общение сервера с клиентом
Здравствуйте, форумчане! Стоит задача: разработать клиент-серверное ftp приложение на python (можно закачивать\скачивать файлы, причём...

2
-30 / 1 / 0
Регистрация: 22.02.2021
Сообщений: 47
16.09.2021, 21:22  [ТС]
пожалуйста подскажите совет по решению задачи, не совсем понимаю как решать




На сегодняшнее занятие курса пришло 2n человек, включая Григория. Для каждого из людей известна его открытость к общению — у i-го человека она равна ai. Ментор решил разбить людей на n пар для общения и считает, что польза разговора между людьми i и j равна сумме их открытостей, то есть ai+aj.

Разумеется, ментор также одинаково заботится о всех людях, которые ходят на курс и платят ему за это много денег, поэтому он хочет, чтобы каждый человек вынес для себя как можно больше из сегодняшнего занятия. Для этого он планирует разбить их на пары таким образом, чтобы минимальная полученная польза была как можно больше.

Входные данные
В первой строке дано единственное число 2n — количество участников сегодняшнего занятия (1⩽n⩽50000).

В следующей строке через пробел даны 2n чисел ai — открытости к общению каждого человека (−108⩽ai⩽108).

Выходные данные
Выведите n пар чисел, каждую пару на своей строке. В i-й строке выведите номера людей, которых надо сопоставить друг другу, чтобы минимальная из польз разговоров была как можно больше.

Разумеется, каждый человек должен быть ровно в одной паре.

Примеры
входные данные
4
1 3 2 3
выходные данные
1 4
2 3





входные данные
4
-2 0 0 112
выходные данные
1 4
2 3
0
 Аватар для avdivo
303 / 213 / 112
Регистрация: 03.12.2016
Сообщений: 409
16.09.2021, 23:22
Daivetop,
Python
1
2
3
4
5
n = int(input('Сколько участников? '))
people = map(int, input('Открытости, через пробелы: ').split())
 
order = sorted(((o, i+1) for i, o in enumerate(people)), key=lambda x: x[0])
print(*(' '.join(map(str, (order[i][1], order[~i][1]))) for i in range(len(order)//2)), sep='\n')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.09.2021, 23:22
Помогаю со студенческими работами здесь

Бот в телеграмме(общение с ним), скрипт Python
Пытаюсь написать скрипт отправки сообщения с почты в телеграм бота! Но в момент отправки сообщения где то в коде ошибка, а именно говорит...

Оптимальное количество заданий и оптимальное количество игр при обучении с использованием ИИ
Здравствуйте! У меня два вопроса при обучении в среднем на 1 предмет в ВУЗЕ : 1.оптимальное количество генерации заданий ...

Общение с видеокартой
Подскажите, пожалуйста, как общаться в MASM с видеокартой, поскольку не работают прерывания и нельзя воспользоваться 10h. Конкретно...

Общение микросервисов
Добрый день, подскажите плииииз Ищу надежные КОМПОНЕНТЫ! или "чистый код"/методики для сокет-связки микросервисов! Интересует...

Общение функций
У меня есть код: function saveData(name, data){ let req = $.post( "https://bbbase.000webhostapp.com/bbbase.php", { action...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru