Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
Andrew625

Задача по программированию "Киноакадемия"

31.10.2014, 10:28. Показов 1067. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Недавно мне попалась сия задача из Всероссийской олимпиады школьников за апрель 2014 года. Не сумев её решить я попытался найти решение в Интернете, но почему-то не смог. Поэтому прошу, если кому нетрудно напишите пожалуйста решение =)


В финал конкурса Киноакадемии вышли n лучших кинофильмов 2014 года. В конкурсе награждаются фильмы в двух номинациях: лучшая режиссура и лучший сценарий. По правилам конкурса в каждой номинации должен быть награжден ровно один фильм, причём в разных номинациях — разные фильмы.
В ходе многочисленных опросов зрителей и кинокритиков удалось собрать данные, показывающие, какой уровень ликования вызовет победа каждого фильма в каждой из номинаций. Дотошные журналисты на этом не остановились и дополнительно выяснили, каким будет уровень ликования, если тот или иной фильм не выиграет ни в одной из номинаций.
Требуется написать программу, которая по результатам опросов определяет наибольший суммарный уровень ликования, которого можно добиться выбором фильмов для награждения в указанных номинациях.
Формат входных данных
В первой строке входного файла задано целое число n — количество кинофильмов, участвующих в финале конкурса Киноакадемии. В следующих n строках содержатся по три целых числа ai , bi , ci — уровень ликования, если i-й фильм не выиграет ни в одной из номинаций, уровень ликования, если этот фильм выиграет в номинации на лучшую режиссуру, и уровень ликования, если этот фильм выиграет в номинации на лучший сценарий.
Формат выходных данных
Первая строка выходного файла должна содержать одно число — наибольший возможный суммарный уровень ликования. Вторая строка должна содержать два целых числа — номера фильмов-победителей в номинациях лучшая режиссура и лучший сценарий соответственно. Фильмы нумеруются натуральными числами от 1 до n. Если оптимальных способов выбора награждаемых фильмов несколько, можно вывести любой из них.
Система оценивания
Подзадача 1
2 <= n <= 100
1 <= ai, bi, ci <= 105
Подзадача оценивается в 20 баллов
Подзадача 2
2 <= n <= 2000
1 <= ai, bi, ci <= 105
Подзадача оценивается в 25 баллов
Подзадача 3
2 <= n <= 105
1 <= ai, bi, ci <= 109
Подзадача оценивается в 55 баллов
Примечание: суммарный балл складывается из баллов за решение отдельных подзадач. Для получения указанных баллов за подзадачу необходимо, чтобы задача проходила все тесты подзадачи
Пояснение к примеру
В приведенном примере наибольший суммарный уровень ликования равен 3 + 5 + 9 = 17.
Примеры тестов
входные данные
3
3 6 9
1 5 7
1 3 9
выходные данные
17
2 3
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.10.2014, 10:28
Ответы с готовыми решениями:

Задача по программированию
Учусь в универе. Начали изучать паскаль. Т.к. в школе не было толком информатики, то я сразу стал отстающим в этом предмете. Вот собственно...

Олимпиадная задача по программированию. PascalABC.NET. Задача L. Переключение между окнами
Когда пользователь работает в операционной системе Winux, у него часто запущено несколько приложений. Каждое из приложений работает в...

Задача по программированию
Даны действительные числа x, e (e&gt;0) последовательность a1,a2... образованы по следующему закону a1=x ; далее для n=2,3... выполнено: ...

3
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
31.10.2014, 17:48
Если говорить только о принципе решения, то достаточно и такого:
Pascal
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
var
max:longint;
i,j,k,b1,c1,n,r:integer;
a,b,c:array[1..200]of integer;
begin
readln(n);
for i:=1 to n do
read(a[i],b[i],c[i]);
max:=0;
for i:=1 to n do
  for j:=1 to n do
     if j<>i then
         for k:=1 to n do
          begin
           if (k<>i)and(k<>j)then
              r:=a[i]+b[j]+c[k];
              if r>max then 
              begin
              max:=r;
              b1:=j;
              c1:=k;
              end;
          end; 
 writeln(max);
 writeln(b1,' ',c1);
 end.
Но в качестве олимпиадного не прокатит из-за ограничений по времени. Надо будет оптимизировать решение.
Но 20 баллов должно набрать.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,158
Записей в блоге: 1
01.11.2014, 20:06
Если правильно понимаю, то под 105 и 109 в условии имеются в виду 1e5 и 1e9, оба больше 16 бит, так что, если предположение верное, а используемый диалект языка использует 16-разрядный Integer, потребуется тип пошире.

Добавлено через 3 минуты
В качестве одного из возможных вариантов можно попробовать получить по 3 максимума с индексами по каждому из значений a, b, c еще при чтении, затем выбрать максимум из возможных комбинаций из этих трех.
0
Платежеспособный зверь
 Аватар для кот Бегемот
8966 / 4389 / 1655
Регистрация: 28.10.2009
Сообщений: 11,647
02.11.2014, 10:54
Да, bormant, я тоже рассматривал такой вариант, в смысле, была такая идея с тремя максимумами. Но вот 105 и 109 почему-то я не рассёк. Ещё удивился таким странным числам...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.11.2014, 10:54
Помогаю со студенческими работами здесь

задача по программированию
Помогите пожалуйста решить! С клавиатуры вводятся длина (&lt;=100) вектора и его (целые) элементы. Посчитать сумму нечётных элементов....

Считалка. Олимпиадная задача по программированию
Ирочка попросила маму придумать новую считалочку. Мама тут же ей &quot;выдала&quot;. Пусть в кругу N человек. Это число N будем изменять...

Задача для зачета по программированию
Даны натуральное число n, символы s1,...,sn. Подсчитать наибольшее количество идущих подряд пробелов.

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

Задача по программированию
Спортсмен ежедневно во время тренировки пробегал расстояние на 10% больше, чем в предыдущий день. Через сколько дней он превысит расстояние...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru