Задача F Оплата Сегодня Али в местном магазине сделал покупку за C тенге. Он только хотел расплатится и услышал от продавца фразу "Без сдачи пожалуйста, молодой человек". У него есть всего N монет достоинств a1, a2, ..., aN тен...

Задача F Оплата Сегодня Али в местном магазине сделал покупку за C тенге. Он только хотел расплатится и услышал от продавца фразу "Без сдачи пожалуйста, молодой человек". У него есть всего N монет достоинств a1, a2, ..., aN тенге. Определите, сможет ли он расплатится без сдачи. Формат входных данных В первой строке входного файла записаны два целых числа C (1 ≤ C ≤ 1000) и N (1 ≤ N ≤ 15) — общая сумма покупки и количство монет у Али соответсвенно. Во второй строке записаны N целых чисел a1, a2, ..., aN (1 ≤ ai ≤ 1000)— достоинства монет Али. Формат выходных данных В единственной строке выведите слово «YES», если Али сможет расплатится без сдачи. Иначе, выведите «NO»
Гость
Ответ(ы) на вопрос:
Гость
Program esep; 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; begin assign(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 ts1 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 nm1000 then writeln(output,'yes') else  writeln(output, ans);    end; close(output); close(input); end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы