Bỏ qua đến nội dung
Kho đề HSG Tin 9Đề thi cấp tỉnh/thành phố

Bài 3 · Lập trình

Chia kẹo

Điểm
5 điểm
Thời gian
1 giây
Bộ nhớ
1024Mb
Tên chương trình
ChiaKeo.*
Vào / Ra
ChiaKeo.Inp → ChiaKeo.Out

Đề bài

Có NN gói kẹo được đánh số hiệu từ 1 đến NN. Gói kẹo thứ ii (i=1,2,3,…,N)(i = 1, 2, 3, \dots, N) có AiA_i chiếc kẹo. Cần phân chia NN gói kẹo thành 2 phần:

  • Phần 1 gồm các gói kẹo 1,2,…,i1, 2, \dots, i. Tổng số chiếc kẹo của phần 1 là x=A1+A2+⋯+Aix = A_1 + A_2 + \dots + A_i;
  • Phần 2 gồm các gói kẹo i+1,i+2,…,Ni + 1, i + 2, \dots, N. Tổng số chiếc kẹo của phần 2 là y=Ai+1+Ai+2+⋯+ANy = A_{i+1} + A_{i+2} + \dots + A_N;
  • Với 1≤i<N1 \le i < N.

Yêu cầu: Tìm cách phân chia NN gói kẹo sao cho chênh lệch giữa số kẹo của hai phần là nhỏ nhất, tức là ∣x−y∣|x - y| đạt giá trị nhỏ nhất. Ta đặt giá trị T=∣x−y∣T = |x - y|.

Dữ liệu vàoChiaKeo.Inp

Dữ liệu cho trong tệp văn bản ChiaKeo.Inp gồm:

  • Dòng thứ nhất ghi số nguyên dương NN là số gói kẹo.
  • Dòng thứ hai ghi NN số nguyên dương A1,A2,…,ANA_1, A_2, \dots, A_N (1≤Ai≤103)(1 \le A_i \le 10^3) là số chiếc kẹo của NN gói kẹo.

Các số ghi trên một dòng cách nhau bởi dấu cách.

Kết quả raChiaKeo.Out

Kết quả ghi ra tệp văn bản ChiaKeo.Out là giá trị nhỏ nhất của TT.

Ràng buộc

  • Có 50% số test ứng với 50% số điểm thỏa mãn 3≤N≤10003 \le N \le 1000;
  • Có 50% số test ứng với 50% số điểm thỏa mãn 1000<N≤1051000 < N \le 10^5.

Ví dụ

Dữ liệu vàoChiaKeo.Inp
5
1 2 3 4 3
Kết quả raChiaKeo.Out
1

Giải thích

  • Phần 1: Chọn các gói kẹo 1, 2, 3; x=A1+A2+A3=1+2+3=6x = A_1 + A_2 + A_3 = 1 + 2 + 3 = 6.
  • Phần 2: Chọn các gói kẹo 4, 5; y=A4+A5=4+3=7y = A_4 + A_5 = 4 + 3 = 7.

⇒ Chênh lệch số kẹo giữa hai phần là 7−6=17 - 6 = 1. Đây là chênh lệch nhỏ nhất có thể phân chia được.

Thuộc đề thi

Kì thi chọn học sinh giỏi tỉnh lớp 9 năm học 2020 - 2021 — Môn thi: Tin học — Bảng B

Nghệ An · Cấp tỉnh · Năm học 2020-2021