trang chủ / đề bài / tb_tst_23_b

Độ chênh lệch

Đề bài

Mô tả

Leo núi là một hoạt động giúp tăng cường thể lực và cải thiện tinh thần, thể chất rất tốt cho con người. Nó là sự kết hợp khéo léo giữa chân và tay để đứng vững ở những nơi có địa hình hiểm trở, sức bền để di chuyển trên một quãng đường dài đồng thời kết hợp với hoạt động của mắt để quan sát các vật cản ở phía trước. Ngoài ra nó còn giúp tăng cường tuần hoàn, giảm mỡ máu, giảm thiểu nguy cơ các bệnh tim mạch, thần kinh. Sau thời gian học tập và nghiên cứu vất vả, nhận thấy leo núi là hoạt động phù hợp để cải thiện sức khỏe của mình, Sơn quyết định đến Hà Giang để thử sức với môn thể thao này.

Nơi Sơn đến có n ngọn núi, ngọn núi thứ i có độ cao hi. Mỗi ngày, Sơn sẽ chọn một dãy các ngọn núi liên tiếp từ l đến r (1≤l≤r≤n) để đi qua. Độ chênh lệch của một dãy các ngọn núi được tính bằng độ cao của ngọn núi cao nhất trừ đi độ cao của ngọn núi thấp nhất (dãy chỉ gồm một ngọn núi có độ chênh lệch bằng 0). Độ chênh lệch của các ngọn núi càng lớn thì số lượng calories tiêu thụ càng nhiều.

Yêu cầu: Sơn có thắc mắc là tổng độ chênh lệch của mọi dãy các ngọn núi ở nơi cậu đến là bao nhiêu để ước tính xem mình được lợi ích gì sau khi leo núi. Hãy giúp Sơn nhé.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n là số ngọn núi nơi quê nhà của Sơn (1≤n≤4·105).
  • Dòng thứ hai chứa n số nguyên h1,h2,…,hn là độ cao của các ngọn núi (0≤hi≤107).

Dữ liệu ra

Một số nguyên duy nhất là tổng độ chênh lệch của mọi dãy các ngọn núi.

Ràng buộc

  • 1≤n≤4·105.
  • 0≤hi≤107.

Subtasks

  • Subtask 1 (20% số điểm): n≤100.
  • Subtask 2 (30% số điểm): n≤5000.
  • Subtask 3 (50% số điểm): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
4
1 2 3 4
10 Các dãy độ dài 2 có độ chênh lệch 1 (có 3 dãy), độ dài 3 có độ chênh lệch 2 (có 2 dãy), dãy độ dài 4 có độ chênh lệch 3. Tổng 3+4+3=10.
6
9 7 2 0 0 4
78 Ví dụ, dãy từ 2 đến 4 (độ cao 7,2,0) có độ chênh lệch 7; dãy từ 4 đến 5 (độ cao 0,0) có độ chênh lệch 0.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0