В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
ress334
ress334
02.01.2020 08:03 •  Информатика

Сегодня али в местном магазине сделал покупку за c тенге. он только хотел расплатится и услышал от продавца фразу "без сдачи , молодой человек". у него есть всего n монет достоинств a1, a2, an тенге. определите, сможет ли он расплатится без сдачи.

Показать ответ
Ответ:
tetyanaostafi
tetyanaostafi
26.06.2020 20:56
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.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота