Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.02 KB | None | 0 0
  1. #include <fstream>
  2. #include <iostream>
  3. #include <cmath>
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.     ifstream in("input.txt");
  10.     ofstream out("output.txt");
  11.  
  12.     long long arr[30001] = {0};
  13.     long long len[30001]=  {0};
  14.  
  15.     unsigned long long n;
  16.     in >> n;
  17.  
  18.     for(int i = 1; i <= n; i++)
  19.     {
  20.         in >> arr[i];
  21.     }
  22.  
  23.     if(n == 0)
  24.     {
  25.         out << 0;
  26.         return 0;
  27.     }
  28.  
  29.     for(int i = 1; i <= n; i++)
  30.     {
  31.         //сколько энергии потратится если стать на 1 клетку вперед
  32.         unsigned long long next1 = len[i] + abs(arr[i+1] - arr[i]);
  33.         //колько потратится если перепрыгнуть
  34.         unsigned long long next2 = len[i] + 3 * abs(arr[i+2] - arr[i]);
  35.  
  36.         if(len[i+1] == 0 || len[i+1] > next1)
  37.         {
  38.             len[i+1] = next1;
  39.         }
  40.         if(len[i+2] == 0 || len[i+2] > next2)
  41.         {
  42.             len[i+2] = next2;
  43.         }
  44.     }
  45.  
  46.     out << len[n];
  47.  
  48.     return 0;
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement