const fin = 'qbseq.inp'; fon = 'qbseq.out';
maxk = 100;maxn=1000;vc=100;
var
a:array[1..maxn] of longint;
f:array[0..maxn,0..maxk] of longint;
n,s,t,k:longint;
procedure enter;
var i:longint;
begin
read(n,k); s:=0;
for i:=1 to n do
begin
read(a[i]);
s:=s+a[i];
end;
s:=s mod k;
end;
function modk(x,y:longint):longint;
begin
t:=(x-y) mod k;
if t>0 then exit(t)
else exit(t+k);
{if x>y then exit((x-y) mod k)
else exit((x+k-y) mod k);}
end;
procedure solve;
var i,j,sum:longint;
begin
f[0,0]:=0;
for i:=1 to k-1 do f[0,i]:=vc;
for i:=1 to n do
for j:=0 to k-1 do
begin
f[i,j]:=f[i-1,modk(j,a[i])]+1;
if f[i-1,j]<f[i,j] then f[i,j]:=f[i-1,j];
end;
writeln(n - f[n,s]);
end;
procedure truyvet;
var sum:longint;
begin
{truy vet}
sum:=0;
repeat
if f[n,s]=f[n-1,s] then
begin
writeln('a[',n,']=',' ',a[n]);
sum:=sum+a[n];
end
else s:=modk(s,a[n]);
dec(n);
until n=0;
write(sum);
end;
begin
assign(input,fin);reset(input);
assign(output,fon);rewrite(output);
enter;
solve;
// truyvet;
close(input);close(output);
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ứ Tư, 27 tháng 4, 2022
QBSEQ 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.