Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.91/54: Рейтинг темы: голосов - 54, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 11.11.2020
Сообщений: 9

Решение задачи Паркур

11.11.2020, 13:52. Показов 11075. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Полный балл: 40
Бонусные баллы:
Ограничение времени: 2 с
Ограничение памяти: 256M
Паркур
Мальчик Миша профессионально занялся паркуром. Для своего показательного номера он нашел N стоящих в ряд столбов, высота i-го столба равна hi. Как известно, чем дальше и выше прыжок, тем он более крутой. Крутость прыжка со столба i на столб j оценивается формулой |i - j| + hj - hi. Миша должен начать на каком-то столбе, после чего посетить все столбы ровно один раз. Скажите Мише максимальную суммарную крутость прыжков.

Формат входных данных
В первой строке вводится целое число N - число столбов (1 ≤ N ≤ 3000). Во сторой строке вводится N целых чисел hi - высоты столбов (1 ≤ hi ≤ 109).

Формат результата
Выведите одно целое число - максимальную суммарную крутость прыжков.

Примеры
Входные данные
4
1 2 3 1
Результат работы
8
Входные данные
5
2 1 5 4 5
Результат работы
15
Примечания
Система оценки:

Решения, корректно работающие для N ≤ 10, получат не менее 10% баллов.

Решения, корректно работающие для N ≤ 60, получат не менее 25% баллов.

Решения, корректно работающие для N ≤ 300, получат не менее 50% баллов.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.11.2020, 13:52
Ответы с готовыми решениями:

Паркур в паскале
задача про паркур! Для проведения соревнования по паркуру организаторы подготовили трассу. Участники должны преодолеть эту трассу...

2D платформер на юнити, паркур
2D Plarformer Unnity3D. C# Scripting Движение влево и вправо с прыжками сделано. Хочу сделать отскокии от стен. Т.е. когда игрок не...

Аналитическое решение решение краевой задачи для ОДУ второго порядка
Здравствуйте! Задача: Аналитически найти частное решение ОДУ. Изначально в частных производных, но это оду(если я неправ поправьте!) ...

29
0 / 0 / 0
Регистрация: 29.10.2020
Сообщений: 14
11.11.2020, 16:07
Студворк — интернет-сервис помощи студентам
А то иначе помочь не смогут
0
0 / 0 / 0
Регистрация: 19.05.2020
Сообщений: 18
11.11.2020, 16:08
Прошло 6 тестов, а остальное время запредельное.

Вот код:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
l1 = int(input())
A = list(map(int, input().split()))
l2 = int(input())
B = list(map(int, input().split()))
Q = int(input())
for i in range (Q):
    C = list(map(int, input().split()))
    if C[0] == 1:
        e = C[1]-1
        for i in range(C[1]-1, C[2]):
            B.append(A[e])
            A.remove(A[e])              
        B.sort()
        A.sort()
    elif C[0] == 2:
        d = C[1]-1
        for i in range(C[1]-1, C[2]):
            A.append(B[d])
            B.remove(B[d])      
        A.sort()
        B.sort()
    C = []
l1 = len(A)
l2 = len(B)
print(l1)
for i in range(len(A)):
    print(A[i], end = " ")
print("")
 
print(l2)
for i in range(len(B)):
    print(B[i], end = " ")
0
0 / 0 / 0
Регистрация: 11.11.2020
Сообщений: 4
11.11.2020, 16:26
Штош, это было весело, всем спасибо
0
1 / 1 / 0
Регистрация: 11.11.2020
Сообщений: 1
11.11.2020, 16:26
Цитата Сообщение от Mswork6 Посмотреть сообщение
А, вот как надо прыгать, осталось понять как заставить программу прыгать так же. Кстати, кто нибудь решил задание C, я решил, но код некоторые тесты не проходит по времени
У меня тоже не прошли последние тесты по времени.
На 15 баллов:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
def solve1(n, arrA, m, arrB, request):
    r_type = request[0]
    l = request[1]
    r = request[2]
    if r_type == 1:
        s_section = list(arrA[l-1:r])
        del arrA[l-1:r]
        if len(s_section) > 0:
            arrB += s_section
        #print(arrA)
        #print(arrB)
        arrB.sort()
    if r_type == 2:
        s_section = list(arrB[l-1:r])
        del arrB[l-1:r]
        if len(s_section) > 0:
            arrA += s_section
        #print(arrA)
        #print(arrB)
        arrA.sort()
    return arrA, arrB
 
 
if __name__ == '__main__':
    n = int(input())
    arrA = list(input().split())
    for i in range(len(arrA)):
        arrA[i] = int(arrA[i])
    #print(arrA)
 
    m = int(input())
    arrB = list(input().split())
    for i in range(len(arrB)):
        arrB[i] = int(arrB[i])
    #print(arrB)
 
    q = int(input())
    for i in range(q):
        request = list(input().split())
 
        for i in range(len(request)):
            request[i] = int(request[i])
        #print(request)
 
        arrA, arrB = solve1(n, arrA, m, arrB, request)
 
        n = len(arrA)
        m = len(arrB)
 
    print(len(arrA))
    print(' ' .join(map(str, arrA)))
    print(len(arrB))
    print(' ' .join(map(str, arrB)))
1
2 / 2 / 0
Регистрация: 19.10.2019
Сообщений: 2
11.11.2020, 16:30
у кого сколько баллов
0
11 / 10 / 5
Регистрация: 25.07.2020
Сообщений: 302
11.11.2020, 16:35
100
0
0 / 0 / 0
Регистрация: 11.11.2020
Сообщений: 4
11.11.2020, 16:39
О, а если сотку набрал, можешь кинуть код с задачей про коттеджи в лс или в нужную тему? Очень интересно, а олимпиада все равно закончилась уже
0
11 / 10 / 5
Регистрация: 25.07.2020
Сообщений: 302
11.11.2020, 16:47
colemnly, будет ещё этап
0
0 / 0 / 0
Регистрация: 07.01.2020
Сообщений: 3
11.11.2020, 17:07
значит я был невнимателен, когда рассчитывал данный вариант
0
9 / 7 / 2
Регистрация: 07.11.2020
Сообщений: 19
14.11.2020, 02:17
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import itertools
 
'''
N = int(input())# N - число столбов (1 ≤ N ≤ 3000).
H = list(map(int, input().split())) # N целых чисел hi - высоты столбов (1 ≤ hi ≤ 109).
 
#метрика cool = abs(i - j) + h[j] - h[i]'''
 
H = [2, 1, 5, 4, 5]
 
I = [0]*len(H)
for i in range(len(H)):
    I[i] = i
 
permut = list(itertools.permutations(I))
t = 0
max_cool = 0
 
 
for k in range(len(permut)):
    cools = 0
    
    for i in range(len(H)-1):
        print(permut[k])
        
        
        cools += abs(permut[k][i] - permut[k][i+1]) + H[permut[k][i+1]] - H[permut[k][i]] 
            
        
        
        if max_cool < cools:
            max_cool = max(max_cool, cools)
            t = k
        
print(max_cool)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2020, 02:17
Помогаю со студенческими работами здесь

задачи с двумерным массивом, решение должно быть похоже на решение 8-ми классника
Без рандома, все вводится с клавиатуры, без Inc, без Break и т.д. 1)Сколько учеников не имеет в году задолженностей? 2)Распечатать...

Найти решение уравнения, изоклинную и интегральную кривые, решение задачи Коши
Помогите пожалуйста! а) Найти решение вида: x=a,y=b,y=kx+b y'=\frac{y^2-4}{xy},\\ y'=x-y+2 б) Какая кривая является одновременно...

Найдите общее решение и решение задачи Коши для ОДУ
Найдите общее решение и решение задачи Коши для ОДУ (с разделяющимися переменными, с однородной правой частью, или сводящееся к ним) : (1...

Решение задачи.В чем ошибка в программе? Может неправильное решение
адача:Дано натуральное число N. Найти сумму цифр этого числа. Указание. Для выделения последней цифры целого числа N можно использовать...

Найти общее решение или решение задачи Коши
вот пример:


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru