![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
vovsik |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 6 Репутация: ![]() ![]() ![]() |
Не пойму. Вот задачка.
Дан неубывающий массив положительных чисел. найти наименьшее целое положительное число, не представимое в виде суммы нескольких элементов этого массива (каждый элемент массива может быть использован не более одного раза) . |
![]() ![]() |
virt |
![]()
Сообщение
#2
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
Код {$A+,B-,D-,E+,F-,G-,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V+,X+} {$M 16384,0,655360} program minnemogu; const Max_Chislo=1000; var i,j,n:word; a:array[1..64000]of byte; x:word; l:longint; Max_Summa:word; begin fillchar(a,sizeof(a),0); read(n); Max_Summa:=0; for i:=1 to n do begin read(x); Max_Summa:=Max_Summa+x; a[x]:=a[x]+1; end; for i:=0 to Max_Summa-1 do begin if a[i]>1 then begin l:=longint(i)+j; if l<=Max_Summa then a[l]:=a[l]+1; end; for j:=i+1 to Max_Summa do if (a[i]>0) and (a[j]>0) then begin l:=longint(i)+j; if l<=Max_Summa then a[l]:=a[l]+1; end; { writeln(i);} end; for i:=1 to Max_Summa+1 do if a[i]=0 then break; writeln(i); readln; end. Вот вроде должно работать. -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 29.07.2025 11:08 |