pascal大虾快进急急急急

来源:百度知道 编辑:UC知道 时间:2024/07/04 07:20:13
在10个两位正整数中选择若干个数,使它们的和最大,并且这些数的个位数之和不大于10。
输入输出样例:
输入:17 82 57 62 43 96 48 44 74 23
输出:82 62 96

贪心法:
program xs;
var
begin
for i:=1 to 10 do
begin
reading(a[i]);
c[i]:=a[i] mod 10;
end;
for i:=1 to 10 do
begin
k:=0;
for j:=1 to 10 do
if a[i]<=a[j] then k:=k+1;
b[i]:=k;
end;
for i:=1 to 10 do
begin
k:=0;
for j:=1 to 10 do
if c[i]<=c[j] then k:=k+1;
d[i]:=k;
end;
for i:=1 to 10 do
max[i]:=b[i]+d[i];
min:=max[1];
for i:=2 to 10 do
if max[i]<min then min:=max[i];
writeln(c[min]);
end.

搜索吧