Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <iostream>
- #include <cmath>
- using namespace std;
- int main()
- {
- ifstream in("input.txt");
- ofstream out("output.txt");
- long long arr[30001] = {0};
- long long len[30001]= {0};
- unsigned long long n;
- in >> n;
- for(int i = 1; i <= n; i++)
- {
- in >> arr[i];
- }
- if(n == 0)
- {
- out << 0;
- return 0;
- }
- for(int i = 1; i <= n; i++)
- {
- //сколько энергии потратится если стать на 1 клетку вперед
- unsigned long long next1 = len[i] + abs(arr[i+1] - arr[i]);
- //колько потратится если перепрыгнуть
- unsigned long long next2 = len[i] + 3 * abs(arr[i+2] - arr[i]);
- if(len[i+1] == 0 || len[i+1] > next1)
- {
- len[i+1] = next1;
- }
- if(len[i+2] == 0 || len[i+2] > next2)
- {
- len[i+2] = next2;
- }
- }
- out << len[n];
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement