В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
bachko2012
bachko2012
04.01.2022 01:22 •  Информатика

25 инфа? муниципальный этап олимпиады по информатике проводился для учеников 7–11-х классов. все ученики участвовали в общем конкурсе. каждый участник олимпиады мог набрать от 0 до 400 . по положению об олимпиаде победителем признаётся участник, набравший наибольшее количество , при условии, что им набрано больше половины возможных . победителей может быть несколько, если это количество наберут несколько человек; а может и не быть совсем, если никто не наберёт больше половины. напишите эффективную по времени работы и по используемой памяти программу (укажите используемую версию языка программирования, например borland pascal 7.0), которая будет определять фамилию и имя лучшего участника, не ставшего победителем олимпиады. если следующий за победителей один и тот же набрали несколько человек или если победителей нет, а лучших участников несколько (в этом случае они же являются искомыми), то должно выдаваться только число искомых участников. гарантируется, что искомые участники (участник) имеются. на вход программе сначала подаётся число участников олимпиады n (n< 10000). в каждой из следующих n строк находится результат одного из участников олимпиады в следующем формате: , где – строка, состоящая не более чем из 20 непробельных символов; – строка, состоящая не более чем из 15 непробельных символов; – число от 7 до 11; – целое число от 0 до 400 набранных участником . и , и , а также и разделены одним пробелом. пример входной строки: иванов пётр 10 275 программа должна выводить через пробел фамилию и имя искомого участника или их число. пример выходных данных: кузнецов иван второй вариант выходных данных: 4

Показать ответ
Ответ:
даниил740
даниил740
08.07.2020 01:24
Program ZvonPOBEDITEL;var i,n,k,i_1,i_2,d_1,d_2: integer;c: char;s,s_1,s_2: string;begin i_1:=0; i_2:=0; d_1:=1; d_2:=1; readln(n); for i:=1 to n do begin  c:='a';  s:='';  while c<>' ' do  begin   read(c);   s:=s+c;  end;  read(c);  while c<>' ' do  begin   s:=s+c;   read(c);  end;  read(c);  while c<>' ' do  begin   read(c);  end;  readln(k);  if (k=i_1) and (i<>1) then d_1:=d_1+1;  if k>i_1 then   begin   i_2:=i_1;   i_1:=k;   s_2:=s_1;   s_1:=s;   d_2:=d_1;   d_1:=1;  end;  if (k=i_2) and (i<>1) then d_2:=d_2+1;  if (k>i_2) and (k<i_1) then   begin    i_2:=k;   s_2:=s;   d_2:=1;  end; end; if (i_1<=200) and (d_1=1) then writeln(s_1); if (i_1<=200) and (d_1<>1)then writeln(d_1); if (i_1>200) and (d_2=1) then writeln(s_2); if (i_1>200) and (d_2<>1) then writeln (d_2);end. Это сугубо мое решение за копирайтинг отвешу люлей. И к тому же сдесь есть одна ошибка о которой знаю только я, так сказать один из частных случаев здесь не прощитывается, по этому поломайте голову, Ха-Ха-Ха...
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота