Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.02.2019
Сообщений: 15
1

Указать минимальный номер дня, в который Вася сможет сдать все экзамены.

18.03.2019, 15:09. Показов 594. Ответов 1
Метки нет (Все метки)

Впереди у студента Васи сессия, которая будет длиться n дней. Васе предстоит сдать экзамены по m предметам. Предметы пронумерованы от 1 до m.

Про каждый день известно, какой из m предметов можно сдать в этот день. Возможно, что в какой-то день нельзя сдавать ни один предмет. Однако в каждый день можно сдавать не более одного предмета.

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

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

Перед вами стоит задача определить минимальный номер дня, в который Вася сможет закрыть сессию — то есть сдать экзамены по всем предметам, либо определить, что это невозможно сделать. Экзамен по каждому предмету нужно сдать ровно один раз.
Входные данные

В первой строке следует два целых положительных числа n и m (1 ≤ n, m ≤ 105) — длительность сессии в днях и количество предметов.

Во второй строке следует n целых чисел d1, d2, ..., dn (0 ≤ di ≤ m), где di равно номеру предмета, экзамен по которому можно сдать в день номер i. Если di равно 0, то в день номер i нельзя сдавать какой-либо экзамен.

В третьей строке следует m целых положительных чисел a1, a2, ..., am (1 ≤ ai ≤ 105), где ai равно количеству дней, которые нужно готовиться, чтобы сдать экзамен по предмету i.
Выходные данные

Выведите целое число — минимальный номер дня, в который Вася сможет сдать все экзамены. Если это невозможно, выведите -1.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.03.2019, 15:09
Ответы с готовыми решениями:

Сколькими способами он сможет сдать экзамены
Поступающий в высшее учебное заведение должен сдать четыре экзамена. Он считает, что для...

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

Сможет ли Вася такими операциями сделать все числа равными?
Задача: В одной из угловых клеток квадратной таблицы 3×3 стоит число 2, а в остальных восьми...

Получить номер дня недели, который был за некоторое число дней до текущего дня
Здравствуйте, требуется помощь с заданием: В ячейке В2 получить дату текущего дня, в ячейке В4 —...

1
2237 / 1762 / 441
Регистрация: 17.02.2014
Сообщений: 8,694
19.03.2019, 09:35 2
Cover05, Бро, ты в школе учишься, чтоль, мат. индукцию не давали вам?
Гля, как можно рассудить:
1 - предмет, требует 3 дня подготовки, следовательно сессия не меньше 4-х дней.
2 - п., 3 и 2 д., то на всю сессию потребуется 5 дней подготовки + 2 дня сдачи, если без отдыха учить и можно сдавать и в выходные.
В таком ключе и рассуждай дальше))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.03.2019, 09:35

Как в коде указать все папки, из которых нужно удалить все файлы старше 31-го дня?
Привет всем, кто не обошёл вниманием данный пост!:friends: Есть ТЗ: удалять файлы старше 31 дня...

Вывести всех учеников, которые завалили ВСЕ экзамены, на который ПРИШЛИ
Добрый вечер, есть три таблицы Exam(name,lesson,item(оценка по экзамену, если не пришел на экзамен,...

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

Вводим номер месяца M и дня D. Определить порядковый номер дня в году T соответствующий этой дате
Вводим номер месяца M и дня D. Определить порядковый номер дня в году T соответствующий этой дате....

Найти минимальный элемент массива и указать его номер.
Найти минимальный элемент массива и указать его номер. Помогите,пожалуйста решить)))

В двумерном найти минимальный элемент и указать его номер.
В двумерном найти минимальный элемент и указать его номер.


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru