JOI 2018 - Mizuyokan

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1400 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Mizuyokan là một loại bánh ngọt Nhật Bản, được làm bằng cách đổ nhân chủ yếu từ đậu đỏ vào khuôn rồi dùng thạch agar để làm đông. JOI có một chiếc bánh mizuyokan hình hộp chữ nhật dài nằm ngang và định ăn chiếc bánh này trong bữa ăn nhẹ hôm nay.

Trên bánh có \(N-1\) vết khía theo chiều dọc để cắt. Chiều dài của bánh là \(L_1+L_2+\cdots+L_N\). Vết khía thứ \(i\) nằm ở vị trí cách đầu bên trái một khoảng \(L_1+L_2+\cdots+L_i\), với \(1 \le i \le N-1\).

Chiếc bánh quá lớn để ăn nguyên cả chiếc, nên JOI sẽ chọn ít nhất một vết khía và cắt theo các vết khía đã chọn để chia bánh thành nhiều miếng. Các miếng không đều nhau sẽ không đẹp mắt, vì vậy JOI muốn hiệu giữa chiều dài miếng dài nhất và chiều dài miếng ngắn nhất là nhỏ nhất có thể.

Hãy tìm giá trị nhỏ nhất của hiệu đó.

Dữ liệu vào

  • Dòng đầu chứa số nguyên \(N\).
  • Trong \(N\) dòng tiếp theo, dòng thứ \(i\) chứa số nguyên \(L_i\).

Dữ liệu ra

In ra trên một dòng hiệu nhỏ nhất có thể giữa chiều dài miếng dài nhất và chiều dài miếng ngắn nhất.

Ràng buộc

  • \(2 \le N \le 50\).
  • \(1 \le L_i \le 1000\) với mọi \(1 \le i \le N\).

Phân nhóm

  1. Nhóm 1 (10 điểm): \(N \le 15\).
  2. Nhóm 2 (27 điểm): \(L_i \le 10\) với mọi \(1 \le i \le N\).
  3. Nhóm 3 (63 điểm): Không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
11
2
3
8
4
7
6
6
5
1
7
5
Output
2
Giải thích

Cắt theo vết khía thứ \(4\) và thứ \(7\) sẽ chia bánh thành ba miếng có chiều dài lần lượt là \(17,19,18\). Miếng dài nhất có chiều dài \(19\), miếng ngắn nhất có chiều dài \(17\), nên hiệu là \(2\). Đây là giá trị nhỏ nhất, vì vậy in ra \(2\).

Ví dụ 2

Input
2
1
10
Output
9
Giải thích

Dù các miếng có không đều nhau đến đâu, vẫn phải cắt bánh tại ít nhất một vết khía.

Ví dụ 3

Input
5
5
5
5
5
5
Output
0
Giải thích

Có thể chia chiếc bánh thành đúng năm miếng có kích thước bằng nhau.

Nguồn

JOI 2017/2018, vòng loại, bài 4: Mizuyokan. Đề bài của Ban tổ chức Olympic Tin học Nhật Bản.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: