Bạn Tú muốn mua tặng các bạn món quà nhân dịp họp lớp,Tú muốn mua hai món quà có tổng giá trị lớn nhất và không vượt quá số tiền trong người.
Yêu cầu: tìm số quà có tổng giá trị lớn nhất,nếu không mua được thì in ra số 0
Dữ liệu vào: nhập N và X
Dữ liệu ra: 1 số nguyên dương ghi ra tổng giá trị lớn nhất
Vd: 4 16
3 10 4 7
In ra 14
uses crt;
var a:array[1..1000] of word;
n,i,j,x,max:word;
procedure tinh;
var t:longint;
begin
t:=a[i]+a[j];
if (t>max) and (t<=x) then
max:=t;
end;
begin
clrscr;
readln(n,x);
for i:=1 to n do read(a[i]);
readln;
max:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
tinh;
writeln(max);
readln;
end.
program pht;
uses crt;
var A: array[1..100000000] of longint;
x, n, max, i, j, t, s, d: longint;
begin
clrscr;
write(‘Nhap so qua: ‘); readln(n);
write(‘Nhap so tien: ‘); readln(x);
for i:=1 to n do
begin
write(‘Gia tri qua thu ‘, i, ‘: ‘); readln(A[i]);
end;
for i:=1 to n do if A[i]>x then d:=d+1;
if d=n then write(‘0’) else
begin
max:=A[1];
for i:=1 to n do if max>A[i] then max:=A[i];
for i:=1 to n do if (max<A[i]) and (A[i]<x) then max:=A[i];
for i:=1 to n-1 do
for j:=1+i to n do if A[i]<A[j] then
begin
t:=A[i];
A[i]:=A[j];
A[j]:=t;
end;
i:=1;
repeat
begin
s:=0;
s:=max+A[i];
i:=i+1;
end;
until s<=x;
write(s);
end;
readln
end.