*Series đề lập trình NVT* #1. Chú của hai bạn An và Bình vừa đi xa về có đem theo một bao kẹo to gồm n gói kẹo, gói thứ i có a[i] viên kẹo. Chú không muốn làm hai bạn buồn nên muốn chia sao cho số kẹo chên lệch là ít nhất. Input: + n là số gói kẹo (1<=n<=10^6) + Dãy a là số viên kẹp trong từng gói (1<=a[i]<=100) Output: + Số kẹo chênh lệch ít nhất. // Đề sẽ update trong các lần tiếp theo.

1 câu trả lời

Uses crt;
Var
    n,i,j,m,an,binh: LongInt;
    a:array[1..1000] of LongInt;
Begin
    repeat
        clrscr;
        write('Nhap so goi keo: '); readln(n);
    until(n>=1)and(n<=1000000);
    for i:=1 to n do
        begin
        repeat
            write('Nhap so vien keo trong goi thu ',i,': '); readln(a[i]);
            if a[i]>100 then writeln('Vui long nhap so vien keo trong khoang 100');
        until(a[i]>=1)and(a[i]<=100);
        end;
    for i:=1 to n-1 do
        for j:=i+1 to n do
            if a[i]<a[j] then begin m:=a[i]; a[i]:=a[j]; a[j]:=m; end;
    an:=a[1];
    binh:=a[2];
    for i:=3 to n do if an>binh then binh:=binh+a[i] else an:=an+a[i];
    writeln('So keo chenh lech it nhat: ',abs(an-binh));
End.

Câu hỏi trong lớp Xem thêm