Лучшие помощники
- Megamozg 2200 б
- Matalya1 1800 б
- DevAdmin 1710 б
- arkasha_bortnikov 895 б
- Dwayne_Johnson 860 б
27 декабря 2022 01:52
443
Помогите Срочно!!!Задача 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
·
Хороший ответ
29 декабря 2022 01:52
Остались вопросы?
Еще вопросы по категории Информатика
Во входных данных строка из чисел, разделённых пробелом. Напишите программу, которая считывает данные и сохраняет их в список, находит максимальное...
1) Что такое 3D- графика? Какие здесь есть измерения? 2) Какие программы для 2D- и 3D- графики вы знаете? 3) Что за программа SketchUp? Как ее запусти...
В каких отношениях состоят узлы А и Г? Рисунок Отметьте верные утверждения: *несколько правильных ответов 1.узел А - предок для узла...
1Какого раздела не существует в программе, написанной на Паскале? а) описаний данных; в) заголовка; б) примечаний; г) описания действий. 2. Веществе...
Ребят как нарисовать сердце в кумире пжжжж срочно...
Все предметы