Мэлхий - 1


Submit solution

Points: 4
Time limit: 1.0s
Memory limit: 16M

Author:
Problem type
Allowed languages
C++

N ширхэг чулуу байгаа бөгөөд тэдгээр нь 1, 2, ..., N гэж дугаарлагдсан.
Чулуу бүрийн өндөр нь \(h_i\) (\(1 \leq i \leq N\)) гэж өгөгдсөн.

Мэлхий эхлээд 1-р чулуу дээр байрлана. Тэрээр дараах үйлдлийг хэд хэдэн удаа давтан хийж байж N-р чулуу дээр хүрнэ:

  • Хэрэв мэлхий одоогоор i-р чулуу дээр байгаа бол, i+1 эсвэл i+2-р чулуу руу үсэрч болно.
  • Үсэрч буухад \(|h_i - h_j|\) гэсэн зардал гарна (\(j\) нь буусан чулуу).

Мэлхий N-р чулуу дээр хүрэхэд гарах нийт зардлын хамгийн бага боломжит утгыг ол.

Оролт:

Оролтын файлын эхний мөрөнд чулуунуудын тоо болох N бүхэл тоо өгөгдөнө.

Хоёр дахь мөрөнд чулуунуудын өндөрийг илэрхийлэх h1 h2 … hN гэсэн N ш бүхэл тоонууд хоосон зайгаар тусгаарлан өгөгдөнө.

Гаралт:

Гарах боломжтой хамгийн бага нийт зардлыг хэвлэ.

Хязгаарлалтууд:

  • Оролтын бүх утгууд нь бүхэл тоо байна.
  • \(2 \leq N \leq 10^5\)
  • \(1 \leq h_i \leq 10^4\)
Дэд бодлого
Дэд бодлого оноо Хязгарлалт Тайлбар
1 Дэд бодлого -1 1 \(N<45\)
2 Дэд бодлого -2 1 \(N<=10^3\)
3 Дэд бодлого -3 1 \(N<=10^5\)
4 Дэд бодлого -4 1 \(N<=10^6\)

Жишээ:

Оролт-1
4
10 30 40 20
Гаралт-1
30
Тайлбар-1

1 → 2 → 4 замаар явбал нийт зардал |10-30| + |30-20| = 30 болно.

Оролт-2
2
10 10
Гаралт-2
0
Тайлбар-2

1 → 2 замаар явбал нийт зардал |10-10| = 0 болно.

Оролт-3
6
30 10 60 10 60 50
Гаралт-2
40
Тайлбар-2

1 → 3 → 5 → 6 замаар явбал нийт зардал |30-60| + |60-60| + |60-50| = 40 болно.


Comments

There are no comments at the moment.