М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
AlexeyB96
AlexeyB96
25.11.2020 00:41 •  Информатика

В соревнованиях по многоборью (из M видов спорта) участвуют N спортсменов (N где – строка, состоящая не более, чем из 20 символов без пробелов, – строка, состоящая не более, чем из 12 символов без пробелов, – M целых чисел, обозначающие количество , набранных спортсменом в каждом из видов многоборья.

и , и , а также отдельные числа в поле разделены ровно одним пробелом. Пример входных строк:

3

4

Иванов Сергей 100 30 78 13

Петров Антон 90 16 98 14

Сидоров Юрий 100 70 30 21

Программа должна выводить результирующую таблицу, содержащую список спортсменов, отсортированный по убыванию суммы , набранные суммы и занятые места.

В данном случае программа должна вывести

Иванов Сергей 221 1

Сидоров Юрий 221 1

Петров Антон 218 2
Решить на PASCAL ABC

👇
Открыть все ответы
Ответ:
Чаромаг
Чаромаг
25.11.2020

30

Объяснение:

var a, b, t, M, R: integer;  // объявляем переменные

Function F(x: integer):integer;  // объявляем функцию F

begin

F := -2*(x+2)*(x-6);

end;

Begin // основная программа

a := -11; b := 11;  // a = -11; b = 11

M := a; R:= F(a); // M = a = -11;  R = F(a).  F(a) = -2*(-11+2)*(-11-6)=(-2)*(-9)*(-17) = 306

t:=a; // t = a = -11

while t < b do // пока t < b

begin

if (F(t)>R) then // если F(t) > R

begin  // выполнить такие действия:

M := t; // M = t

R:= F(t); // R = F(t)

end;

t:=t+2;  // прибавить к t значение 2

end;

Write(R);  // вывести R

End.

4,6(30 оценок)
Ответ:

inFile = open('input.txt', 'r', encoding='utf8')

outFile = open('output.txt', 'w', encoding='utf8')

score = []

i = 0

nstr = 1

for line in inFile:

if nstr == 1:

k = int(line)

else:

line1 = line.split()

sc3 = int(line1[-1])

sc2 = int(line1[-2])

sc1 = int(line1[-3])

if sc1 >= 40 and sc2 >= 40 and sc3 >= 40:

score.append(sc1 + sc2 + sc3)

i += 1

nstr += 1

inFile.close()

if k >= i:

print(0, file=outFile)

else:

score.sort(reverse=True)

if score[k-1] > score[k]:

print(score[k-1], file=outFile)

else:

ans = ''

for ii in score[k-1::-1]:

if score[k-1] < ii and ans == '':

ans = ii

if ans == '':

ans = 1

print(ans, file=outFile)

outFile.close()

4,4(78 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ