Cân bằng dương
Submit solution
Points:
3.4 (partial)
Time limit:
1.0s
Memory limit:
98M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Với mỗi dãy số gồm toàn các số nguyên dương, bạn có thể thực hiện một trong hai thao tác sau bao nhiêu lần tùy ý:
- Cân bằng tăng: Chọn một chỉ số
bất kì, tăng tất cả các phần từ chỉ số khác lên . - Cân bằng giảm: Chọn một chỉ số
bất kì, giảm tất cả các phần tử chỉ số khác đi .
Chú ý rằng hai thao tác trên chỉ áp dụng cho các dãy số chứa toàn số nguyên dương. Đồng thời, bạn không được cân bằng trên tất cả các chỉ số trong dãy.
Nhập và một dãy số, bạn hãy xác định số thao tác ít nhất để các phần tử trong dãy số đều bằng nhau.
Đầu vào
Dòng đầu chứa số tự nhiên
Dòng tiếp theo chứa
Đầu ra
Một số tự nhiên duy nhất là kết quả của bài toán.
Nếu như không có cách nào để cân bằng dãy số sử dụng hai thao tác trên, bạn hãy xuất ra
Ví dụ
Đầu vào:
Copy
4
1 2 3 4
Đầu ra:
Copy
4
Giải thích: Giả sử dãy số trên bắt đầu từ chỉ số
- Cân bằng giảm ở chỉ số
: . - Cân bằng tăng ở chỉ số
: - Cân bằng tăng hai lần ở chỉ số
: .
Comments
bài này hướng làm như nào vậy ạ :<
Bạn có thể thay cân bằng tăng tại bằng thao tác trừ vào phần tử chỉ số , cân bằng giảm tại bằng thao tác cộng vào phần tử chỉ số đưa về vấn đề Que củi, với điều kiện là chỉ được cân bằng khi các phần tử trong dãy số đều dương. Bài Lucky phát quà cũng giải tương tự.
Lucky phát quà