Задача 7: Удаление данных
Случилась беда — шпиона Сергея раскрыли, и теперь ему нужно срочно бежать! Но перед побегом он должен удалить все компрометирующие данные со своего компьютера.
На компьютере Сергея сохранены N файлов, пронумерованных числами от 1 до N. У каждого из файлов есть размер в байтах: a1, a2, ..., aN. Все данные на компьютере Сергея хорошо зашифрованы. Шпион определил, что для удаления файла с номером i понадобится минимум из ai−1 и ai+1 секунд (для удаления первого файла потребуется a2 секунд, а для удаления последнего — aN−1 секунд). Когда остается всего один файл, он удаляется мгновенно. После удаления файла с номером i остальные файлы перенумеровываются последовательно.
У Сергея осталось очень мало времени, а ему еще нужно собрать вещи, поэтому он просит у вас помощи. Определите, какое минимальное время понадобится шпиону, чтобы удалить все файлы. Сергей может удалять файлы последовательно в любом порядке.
Входные данные
В первой строке выходных данных записано одно целое число N (1 ≤ N ≤ 105) — количество файлов на компьютере шпиона.
В каждой из следующих N строк записано по одному целому числу ai (1 ≤ ai ≤ 104) — размер файла с номером i на компьютере Сергея.
Выходные данные
В единственной строке выведите одно число — минимальное время, которое понадобится Сергею для удаления всех файлов.
Система оценки
Решения, правильно работающие только для случаев, когда N не превосходит 10, будут оцениваться в 20 баллов.
Решения, правильно работающие только для случаев, когда N не превосходит 1000, будут оцениваться в 60 баллов.
Примеры
Ввод
Вывод
Пояснение
5
1
2
3
1
100
4
У Сергея есть файлы с размерами 1, 2, 3, 1, 100. Один из вариантов решения приведен ниже:
1. Удалим последний файл. Это займет одну секунду.
2. Затем удалим файл размера 2 за одну секунду.
3. Далее удалим файл размера 3 за одну секунду.
4. Теперь удалим любой из оставшихся двух файлов за одну секунду.
5. Последний файл моментально удалится сам.
Итого, Сергею понадобится 1 + 1 + 1 + 1 = 4 секунды.
1
1
0
У Сергея изначально есть всего один файл, который сразу же удалится.
maximus618:
гг Сергею
F Сергею
все попался шаранойд
Бедный Серёга, плакали всем детдомом =( F
Ответы
Ответ дал:
42
Ответ:
n = int(input())
ints = []
for i in range(n):
ints.append(int(input()))
min_val = min(ints)
print(min_val * (n - 1))
Берем минимальное число из списка и удаляем все числа рядом с ним. Это будет минимальное время
Это значит неправильно
А какой это язык?
питон
python
зачем делать олимпиаду, если вы даже не знаете программирования?
потому что нам сказали за каждый правильный ответ поставят 5)))
мы вообще ничего такого не проходили, но на заставили делать)))
вы о чем ахахах у нас даже информатики в предметах школы нет
найс
а я тупо не успеваю всё вовремя сделать
Ответ дал:
93
Ответ:
n = int(input())
min = 10**5
for i in range(n):
element = int(input())
if element < min:
min = element
print((n-1) * min)
Пошаговое объяснение:
Язык python 3, самое быстрое решение без массивов и долгих поисков. Берём и удаляем все элементы всегда возле самого минимального числа.
А ответ какой писать?
n = int(input())
min = 10**5
for i in range(n):
element = int(input())
if element < min:
min = element
print((n-1) * min)
min = 10**5
for i in range(n):
element = int(input())
if element < min:
min = element
print((n-1) * min)
это пиши на python 3 python 3 3.6.8
СПАСИБО ЧЕЛ ЛУЧШИЙ
ГОСПАДИ СПАСИБО ТЫ ГЕНИЙ
cпс
лучший
Поставьте ему пж Лучший ответ
лучший
++++
Вас заинтересует
2 года назад
3 года назад
3 года назад
8 лет назад
8 лет назад
9 лет назад