Решение задачи "Деревья у дороги (упрощ. редакция)" с Codeforces

Без пояснения   Просмотров: 25


Белка Лисска любит орехи. Дано n деревьев (пронумерованных от 1 до n с запада на восток), посаженных вдоль улицы. На вершине каждого дерева растет по вкуснейшему ореху. Высота древа i равна h i. Лисска хочет съесть все орехи.

Сейчас Лисска сидит у корня дерева с номером 1. За одну секунду Лисска может выполнить одно из следующих действий:

Забраться по дереву на единицу высоты вверх или вниз.
Съесть орех на вершине текущего дерева.
Перепрыгнуть на следующее дерево. В этом действии высота расположения Лисс не меняется. Более формально, когда Лисска находится на высоте h дерева i (1 ≤ i ≤ n - 1), она прыгает на высоту h дерева i + 1. Это действие нельзя выполнить, если h > h i + 1.
Посчитайте минимальное время (в секундах), необходимое для того, чтобы съесть все орехи.

Код

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n;
     cin>>n;
     int a[n];
     cin>>a[0];
     int ans=a[0];
     for(int i=1;i<n;i++){
        cin>>a[i];
        ans+=abs(a[i-1]-a[i])+1;
    }
	cout<<ans+n;
	return 0;	
}

         

Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться