Второе число выдач среди жанров
Условие
В файле data.csv хранится каталог книг библиотеки. Каждая книга имеет идентификатор, жанр и год издания. В файле loans.csv хранятся отдельные выдачи книг читателям.
Необходимо соединить выдачи с каталогом по идентификатору книги. Для каждого жанра следует посчитать число выдач книг, год издания которых не меньше заданного значения y.
Пусть для жанра g величина L(g) равна числу строк файла loans.csv, у которых идентификатор книги относится к жанру g, а год издания этой книги не меньше y. Требуется вывести второе по величине различное значение среди величин L(g).
Пустые жанры и жанры, для которых L(g) = 0, в сравнении не участвуют. Гарантируется, что после отбора есть хотя бы два жанра с положительным числом выдач. При равенстве значений выдач у нескольких жанров они считаются одним и тем же значением при поиске второго по величине различного значения.
Формат ввода
Рядом с программой находятся два файла в кодировке UTF-8 с разделителем-запятой.
Файл data.csv содержит каталог книг. Первая строка содержит заголовок: book_id,title,genre,publication_year
book_id— целочисленный идентификатор книги;title— название книги без запятых;genre— название жанра;publication_year— целый год издания.
Файл loans.csv содержит выдачи. Первая строка содержит заголовок: loan_id,book_id,reader_id,loan_date
loan_id— целочисленный идентификатор выдачи;book_id— идентификатор книги из файлаdata.csv;reader_id— целочисленный идентификатор читателя;loan_date— дата выдачи в форматеYYYY-MM-DD.
В стандартный ввод подаётся одно целое число y — минимальный год издания книги.
Формат вывода
Выведите одно целое число — второе по величине различное положительное число выдач среди жанров.
Ограничения
В файле data.csv ровно 360 строк с данными. Идентификаторы book_id находятся в диапазоне от 1 до 1000000 и не повторяются. Длина title — от 1 до 60 символов. Длина genre — от 3 до 30 символов. Год издания publication_year находится в диапазоне от 1900 до 2025.
В файле loans.csv ровно 1260 строк с данными. Идентификаторы loan_id находятся в диапазоне от 1 до 10000000 и не повторяются. Каждый book_id из файла loans.csv существует в файле data.csv. Идентификатор читателя reader_id находится в диапазоне от 1 до 1000000. Дата имеет формат YYYY-MM-DD.
Число y находится в диапазоне от 1950 до 2000. После применения условия по году существуют хотя бы два жанра с положительным числом выдач.
Округление не требуется: выводится целое число без дробной части.
Решить задачу с автопроверкой на Python →
Куда дальше
- Школьный этап ВсОШ по информатике — как устроен первый этап и план подготовки за четыре недели
- На программиста по олимпиаде: путь по классам — что даёт диплом, куда с ним берут на ИТ-направления и почему решает 9 класс
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт