var a:array [0..1000] of longint;
n,m,kq:longint;
procedure nhap;
var i:longint;
begin
readln(n,m);
for i:=1 to n do read(a[i]);
end;
procedure qs(l,h:longint);
var x,i,j,t:longint;
begin
x:=a[(l+h) div 2];
i:=l;j:=h;
while i<=j do
begin
while a[i] < x do inc(i);
while x < a[j] do dec(j);
if i<=j then
begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
inc(i);dec(j);
end;
end;
if L<j then qs(L,j);
if i<H then qs(i,H);
end;
function tknp(l,r,x:longint):longint;
var m,kq:longint;
begin
kq:=-1;
while l<=r do
begin
m:=(l+r) div 2;
if a[m]<=x then
begin
kq:=m;
l:=m+1;
end
else r:=m-1;
end;
exit(kq);
end;
procedure xuli;
var i,j,k,max:longint;
begin
qs(1,n);
max:=0;
for i:=1 to n-2 do
for j:=i+1 to n-1 do
begin
k:=tknp(j+1,n,m-a[i]-a[j]);
if k>-1 then
if a[i]+a[j]+a[k]>max then
max:=a[i]+a[j]+a[k];
end;
writeln(max);
end;
begin
assign(input,'ndccard.inp');reset(input);
assign(output,'ndccard.out');rewrite(output);
nhap;
xuli;
end.
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Hai, 9 tháng 5, 2022
NDCCARD PASCAL
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.