Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 895 б
- Dwayne_Johnson 860 б
26 декабря 2022 00:47
648
Помогите Срочно!!!Задача 3: Конструктор
Сереже на первое сентября подарили магнитный конструктор, состоящий из брусков разной длины, которые могут соединяться концами друг с другом. В подарочном наборе все бруски уложены в порядке неубывания длины, причем бруски могут иметь одинаковую длину — это очень важно для Серёжи, потому что он будет собирать из брусков равносторонние треугольники для своего большого проекта. Для этого проекта Серёже нужно очень много деталей такой формы, и он хочет понять, сколько всего возможно собрать равносторонних треугольников из конструктора для последующего их одновременного использования в проекте. Размеры треугольников могут быть различными, но все они должны быть равносторонними. Определите, какое максимальное количество равносторонних треугольников можно собрать из конструктора (брусок, использованный в одном треугольнике, уже не может быть использован в другом).
Входные данные
В первой строке входных данных дано целое число n — количество брусков (1 ≤ n ≤ 105). В следующих n строках даны длины брусков конструктора — целые числа от 1 до 109 по одному в строке. Числа даны в неубывающем порядке.
Выходные данные
Требуется вывести одно целое число — максимально возможное число равносторонних треугольников.
Система оценки
Решения, правильно работающие при n ≤ 100, будут оцениваться в 50 баллов.
Примеры
Ввод
Вывод
Пояснение
6
1
1
1
1
2
2
1
Можно составить один треугольник из трёх брусков длины 1. Остались бруски длиной 1, 2, 2, из которых нельзя составить равносторонний треугольник.
6
1
1
3
3
5
5
0
Нет трёх брусков равной длины, поэтому ни одного равностороннего треугольника составить нельзя.
1
ответ
#python3
n = int(input())
n_triangles = 0
num = 1
len = 0
for i in range(n):
l = int(input())
if len == l:
num+=1
if num==3:
n_triangles+=1
num = 0
else:
num = 1
len = l
print(n_triangles)
n = int(input())
n_triangles = 0
num = 1
len = 0
for i in range(n):
l = int(input())
if len == l:
num+=1
if num==3:
n_triangles+=1
num = 0
else:
num = 1
len = l
print(n_triangles)
0
·
Хороший ответ
28 декабря 2022 00:47
Остались вопросы?
Еще вопросы по категории Информатика
К числу основных функций текстового редактора относятся ...
Что больше? 100 кбайт * 0,1 мбайт...
Составить программу, которая выводит степени тройки с 1-й по 10-ю...
Микропроцессор предназначен для:...
Какая команда присвоения должна следовать за командами А:= А + В и В:= А - В, чтобы последовательное выполнение всех трех команд вело к обмену значени...