⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 p1880_change_algorithm.pas

📁 高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程
💻 PAS
字号:
PROGRAM p1880;

TYPE
        Tnum = array[1..100] of Longint;

VAR
        n , i , nd , j , temp   : Integer;
        sum1 , sum2             : Longint;
        num                     : Tnum;
        change                  : Boolean;

BEGIN
//assign(input,'p.in');
//reset(input);

while not eof do
        begin
        readln ( n );
        for i:= 1 to n do readln ( num [i] );

        sum1 := 0;
        sum2 := 0;
        nd := n div 2;
        for i:=1 to nd do sum1 := sum1 + num [i];
        for i:= nd + 1 to n do sum2 := sum2 + num [i];

        while true do
                begin
                change := false;

                for i:=1 to nd do
                        for j:= nd + 1 to n do
                                if abs (( sum1 + num [i] - num [j] ) - ( sum2 - num [i] + num [j] )) < abs ( sum1 - sum2 ) then
                                        begin
                                        sum1 := sum1 + num [i] - num [j];
                                        sum2 := sum2 - num [i] + num [j];
                                        temp := num [i];
                                        num [i] := num [j];
                                        num [j] := temp;
                                        change := true;
                                        end;

                if not change then
                        begin
                        if sum2 < sum1 then
                                begin
                                temp := sum1;
                                sum1 := sum2;
                                sum2 := temp;
                                end;
                        break;
                        end ;
                end;
        writeln ( sum1 , ' ' , sum2 );
        end;
END.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -