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

Паскаль Задача 3. Ремонт забора Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 512 мегабайт
Забор состоит из N одинаковых вертикальных досок. Некоторые из досок сгнили и нуждаются в
замене, для каждой доски известно, нужно ли её заменить. Для ремонта забора можно использовать
продающиеся в магазине щиты, которые бывают L разных видов: шириной в 1 доску, в 2 доски, ...,
в L досок. Щит нельзя разрезать на части, то есть одним щитом можно заменить не более любых
L подряд идущих досок. При этом можно менять не только сгнившие доски, но и хорошие.
Оказалось, что все щиты стоят одинаково, независимо от размера щита. Определите, какое наименьшее число щитов необходимо приобрести, чтобы починить весь забор.
Формат входных данных
Первая строка входных данных содержит целое число L (L > 0) — максимальный размер щита.
Во второй строке входных данных записано целое число N (N > 0) — количество досок в заборе.
Следующие N строк содержат по одному числу, равному 0 или 1. Число 1 обозначает, что соответствующая доска в заборе нуждается в замене, число 0 — что доска может быть сохранена.
Формат выходных данных
Программа должна вывести одно целое число — минимальное число щитов, которое необходимо
приобрести для ремонта всего забора.
Система оценивания
Решение, правильно работающее только для случаев, когда числа L и N не превосходят 1000,
будет оцениваться в
В будет оцениваться решение, правильно работающее, когда числа L и N не превосходят 105
.
Пример
стандартный ввод стандартный вывод
3
8
0
0
1
0
1
0
1
0
3
Пояснение к примеру
Максимальная ширина одного щита равна 3. Забор состоит из 8 досок, нужно заменить доски
с номерами 3, 5 и 7. Для этого достаточно двух щитов, например, одним щитом меняем доски с
номерами 3, 4, 5, а другим щитом меняем доску с номером 7

Показать ответ
Ответ:
worldteawithlemon
worldteawithlemon
13.09.2020 13:54
1.
Числа можно вводить
int k,l; cout<<"->"; cin>>k>>l; if (k==l) { k=0; l=0; cout<<k<<" "<<l<<endl; }  else   {  l=k;  cout<<k<<" "<<l<<endl;  }
если хочешь без ввода удали cin и присвой значения

2.
int k,l,z; cout<<"->"; cin>>k>>l>>z;  if (k>0)  {  k*=k;  cout<<k<<endl;  }   if (l>0)  {  l*=l;  cout<<l<<endl;  }   if (z>0)  {  z*=z;  cout<<z<<endl;  }   if (k<0)  {  cout<<k<<endl;  }   if (l<0)  {  cout<<l<<endl;  }   if (z<0)  {    cout<<z<<endl;  }  
0,0(0 оценок)
Ответ:
Deiselpro1
Deiselpro1
11.04.2020 14:06
<<A>>

a = [int(x) for x in input("Введите три целых числа:\n").split()]
max = a[0]
for i in a:
if i > max:
max = i
print("Максимальное число: {}".format(max))

<<B>>

a = [int(x) for x in input("Введите пять целых чисел:\n").split()]
max = a[0]
for i in a:
if i > max:
max = i
print("Максимальное число: {}".format(max))

<<C>>

ages = []
names = ["Антон", "Борис", "Виктор"]
for name in names:
ages.append(int(input("Возраст {}а: ".format(name
j = 0
M = []
m = max(ages)
for age in ages:
if age == m:
M.append(j)
j += 1
if len(M) == 1:
print("{} старше всех.".format(names[M[0]]))
elif len(M) == 2:
for i, v in enumerate(names):
if i not in M:
young = v
print("{} и {} старше {}а.".format(names[M[0]], names[M[1]], young))
else:
print("Все трое одного возраста.")
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота