trang chủ / bài tập / imbalarr

Độ lệch của mảng

Đề bài

Mô tả

Cho mảng a gồm n phần tử.

Với một đoạn con liên tiếp bất kỳ của mảng, độ lệch của đoạn đó được định nghĩa là hiệu giữa phần tử lớn nhất và phần tử nhỏ nhất trong đoạn.

Độ lệch của mảng là tổng độ lệch của tất cả các đoạn con liên tiếp của mảng đó.

Ví dụ, mảng [1,4,1]6 đoạn con liên tiếp với các độ lệch lần lượt là 0, 3, 3, 0, 3, 0, nên độ lệch của mảng bằng 9.

Hãy tính độ lệch của mảng a.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n, kích thước của mảng a.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an, các phần tử của mảng.

Dữ liệu ra

In ra một số nguyên duy nhất là độ lệch của mảng a.

Ràng buộc

  • 1n106
  • 1ai106

Ví dụ

Input Output Giải thích
3
1 4 1
9 Sáu đoạn con là [1], [1,4], [1,4,1], [4], [4,1], [1] với độ lệch 0,3,3,0,3,0. Tổng bằng 9.
3
2 4 1
8 Các đoạn độ dài 1 đều cho 0; [2,4] cho 2; [4,1] cho 3; [2,4,1] cho 41=3. Tổng bằng 8.
10
1 1 1 1 1 1 1 1 1 1
0 Mọi đoạn con đều có phần tử lớn nhất bằng phần tử nhỏ nhất nên độ lệch bằng 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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0