Мэлхий - 3
Submit solution
Points:
8
Time limit:
1.0s
Memory limit:
16M
Author:
Problem type
Allowed languages
C++
N ширхэг чулуу байна, тэдгээр нь 1, 2, ..., N гэж дугаарлагдсан. Чулуу бүрийн өндөрийг \(h_i\) гэж өгсөн.
Мөн дараах нөхцөл биелнэ:
- \(h_1 < h_2 < ⋯ < h_N\)
(өөрөөр хэлбэл, чулуунуудын өндөр өсөх дарааллаар эрэмбэлэгдсэн)
Мэлхий эхлээд 1-р чулуу дээр байрлана. Тэрээр дараах үйлдлийг хэд хэдэн удаа давтан хийж байж N-р чулуу дээр хүрнэ:
- Хэрэв мэлхий одоогоор i-р чулуу дээр байгаа бол, i+1, i+2, ..., i+N гэсэн чулуунуудын аль ч чулуу руу үсэрч болно.
- Үсэрч буухад \((h_j - h_i)^2 + C\) гэсэн зардал гарна (\(j\) нь буусан чулуу).
Мэлхий N-р чулуу дээр хүрэхэд гарах нийт зардлын хамгийн бага боломжит утгыг ол.
Оролт:
Оролтын файлын эхний мөрөнд чулуунуудын тоо болох N, үсрэхэд тооцоологдор C бүхэл тоо өгөгдөнө.
Хоёр дахь мөрөнд чулуунуудын өндөрийг илэрхийлэх h1 h2 … hN гэсэн N ш бүхэл тоонууд хоосон зайгаар тусгаарлан өгөгдөнө.
Гаралт:
Гарах боломжтой хамгийн бага нийт зардлыг хэвлэ.
Хязгаарлалтууд:
- Оролтын бүх утгууд нь бүхэл тоо байна.
- \(2≤N≤2×10^5\)
- \(1≤?≤10^{12}\)
- \(1≤h1<h2<⋯<hN≤10^6\)
Дэд бодлого
| № | Дэд бодлого | оноо | Хязгарлалт | Тайлбар |
|---|---|---|---|---|
| 1 | Дэд бодлого -1 | 1 | \(K,N<=45\) | |
| 2 | Дэд бодлого -2 | 1 | \(K<=50, N<=10^3\) | |
| 3 | Дэд бодлого -3 | 1 | \(K<=100, N<=10^5\) | |
| 4 | Дэд бодлого -4 | 1 | \(K<=100, N<=10^6\) |
Жишээ:
Оролт-1
5 6
1 2 3 4 5
Гаралт-1
20
Тайлбар-1
Зам:
1 → 3 → 5
Өртөг:
(3-1)² + 6 = 4 + 6 = 10
(5-3)² + 6 = 4 + 6 = 10
Нийт = 20
Оролт-2
2 1000000000000
500000 1000000
Гаралт-2
1250000000000
Оролт-3
8 5
1 3 4 5 10 11 12 13
Гаралт-3
62
Comments