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 begin read(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); end.
ВладимировичСтанислав
06.03.2020
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); end.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Запишите в развернутом виде числа а2=100111 а16=1а3, 5с1