Thứ Ba, 3 tháng 5, 2022

RUTTIEN3 PASCAL

const fin = 'ruttien3.inp';fon = 'ruttien3.out';
    maxn = 100;
var a:array[1..maxn] of longint;
    x:array[0..maxn] of longint;
    n,s,m,dem:longint;
procedure vet(i:longint);
var j,k:longint;
begin
    for j:=x[i-1]+1 to n do
    begin
        x[i]:=j;
        s:=s+a[j];
        if s>=m then
        begin
            if s=m then inc(dem);
            //for k:=1 to i do write(x[k],' ');
            //writeln;
            // exit;
        end
        else vet(i+1);
        s:=s-a[j];
    end;
end;
procedure solve;
var i:longint;
begin
    read(m, n);
    for i:=1 to n do read(a[i]);
    x[0]:=0;dem:=0;
    vet(1);
    write(dem);
end;

begin
    assign(input,fin);reset(input);
    assign(output,fon);rewrite(output);
    solve;
close(input);close(output);
end.

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.