Dãy đối xứng

View as PDF

Submit solution

Points: 200.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type

Cho dãy số A gồm N số nguyên, các số được đánh số bắt đầu từ 1 đến N. Dãy này đối xứng nếu với mọi i thì ~A[i] = A[N-i+1]~. Ta có thể biến đổi dãy như sau: Lấy hai phần tử kề nhau và thay chúng bằng một phần tử có giá trị bằng tổng của hai phần tử đó.

Yêu cầu: Tính số lần thực hiện biến đổi ít nhất để biến dãy A thành dãy đối xứng.

Dữ liệu vào:

  • Dòng 1: Chứa số nguyên N là số lượng phần tử của dãy ~(1 ≤ N ≤ 10^6)~.
  • Dòng 2: Chứa N số nguyên dương thể hiện dãy A, các số không vượt quá ~10^9~.

Dữ liệu ra: Một số nguyên duy nhất là số lần biến đổi ít nhất có thể.

Ví dụ:
input 1
3
1 2 3
output 1
1
input 2
4
4 1 2 3
output 2
2

Ràng buộc:

  • Có 30% số test ứng với 30% số điểm của bài có: ~1 ≤ N ≤ 10~
  • Có 30% số test ứng với 30% số điểm của bài có: ~10 < N ≤ 1000~
  • Có 40% số test còn lại không có ràng buộc gì thêm.

Comments

Please read the guidelines before commenting.


There are no comments at the moment.