Собака зарыта в строчках
var a:array of integer
...
read(a[i][j])
Смысл в том, что a, похоже, объявлен как одномерный массив, а по твоей задумке он двумерный. Поставь там инициализацию двумерных массивов.
(В PascalABC.Net, если ты тоже в этой среде и этом диалекте, то там я ручаюсь, что там правильно <span>var a:array [,] of integer</span>. Хотя допускаю, что везде одинаково).
Var input,output:text; n,i,j,g,nm,ans,t:integer;ara:array[0..1000] of integer;ar,arq:array[0..1000] of integer; ts,sum,a:integer;beginassign(input,'f.in');reset(input); assign(output,'f.out');rewrite(output);readln(input,a,n);ans:=10000;
for i:=1 to n do beginread(input,ar[i]);ts:=ts+2*ar[i];end;
if ts<a then writeln(output,'-1') else
begin
ara[1]:=3;for i:=2 to 15 do begin ara[i]:=3*ara[i-1];end;
for i:=1 to ara[n] do begin if arq[n]<2 then begin inc(arq[n]);sum:=sum+ar[n];inc(nm); end else begin g:=n;while arq[g]>1 do begin sum:=sum-ar[g]*arq[g];dec(nm,arq[g]);arq[g]:=0;dec(g);end;
inc(arq[g]);sum:=sum+ar[g];inc(nm);end;if sum=a then begin if nm<ans then ans:=nm;end;end;
if ans>1000 then writeln(output,'0') else writeln(output,ans); end;
close(output);close(input);<span>end.</span>
Делить байты на 1024. в 1 килобайте 1024 байт
Они равны так как:
В левой части, по закону де Моргана и закону двойного отрицания мы получим A & B
И таблица истинности
А В А&В
0 0 0
0 1 0
1 0 0
1 1 1
в правой части такая же таблица.
1 y <> 0
x mod 7 <> 0
(x >-5) AND (x<10)
(x>=-1)AND(x<=1)