М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Люсии1г7у
Люсии1г7у
15.04.2021 16:07 •  Информатика

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя. Администратор сохраняет файлы по следующему правилу: выбирается файл максимального размера, который может быть записан на диск, затем выбирается файл минимального размера, который может быть записан на диск. Данный сценарий повторяется до тех пор, пока на диск нельзя будет записать ни одного из оставшихся файлов. Входные данные представлены в файле 26-j9.txt следующим образом. В первой строке входного файла находятся два числа: S – размер свободного места на диске (натуральное число, не превышающее 10 000) и N – количество пользователей (натуральное число, не превышающее 1000). В следующих N строках находятся значения объёмов файлов каждого пользователя (все числа натуральные, не превышающие 100), каждое в отдельной строке.

Запишите в ответе через пробел два числа: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем размер последнего сохраненного файла.

Пример организации исходных данных во входном файле:

100 5

80

30

10

5

7

При таких исходных данных можно сохранить файлы трех пользователей. Объёмы этих трёх файлов 80, 5 и 10. Последний выбранный файл имеет размер 10 , поэтому ответ для приведённого примера: 3 10.

👇
Открыть все ответы
Ответ:
alenalebedeva2
alenalebedeva2
15.04.2021
На алгоритмическом.

a=массив(10..50);
max:=a[1]'
min:=a[1];
n_min:=0;
n_max:=0;
k:=0;
i:=10;

пока i<=50  делай
нц
  если a[i]>max то
    нц
     max:=a[i];
     n_max:=i;
    кц
  если a[i]<min то
   нц
    min:=a[i];
    n_min:=i;
   кц
 если (i mod 2)==0 то
   sum:=sum+a[i]; 
   k:=k+1;
кц

srednee_znachenie:=sum/k;

//

var
a:array(10..50) of integer;
max,min,n_min,n_max,k,i,sum:integer;
sr:float;

begin
 max:=a[1];
 min:=a[1];

 for i:=10 to 50 do
  begin
   if a[i]>max then
    begin
     max:=a[i];
     n_max:=i;
    end;
   if a[i]<min then
    begin
     min:=a[i]
     n_min:=i;
    end;
   if ((i mod 2)=0) then
    begin
     k:=k+1;
     sum:=a[i]+sum;
    end;
  end;
end;

sr:=sum/k;
end.
4,8(27 оценок)
Ответ:
oaoaoaoaoa
oaoaoaoaoa
15.04.2021
1) Program n1; 
var n,i:integer; 
t:array[1..100] of real; 
a,b:real; 
begin 
readln(n); 
readln(a); 
readln(b); 
for i:=1 to n do 
begin 
t[i]:=(b-a)/n; 
write(t[i],'  '); 
end; 
end.
2) Program n1; 
var a:array[1..100] of integer; 
n,i:integer; 
k:real; 
begin 
read(n); 
k:=0; 
for i:=1 to n do 
read(a[i]); 
for i:=1 to n do 
if a[i] mod 2 <> 0 then 
k:=k+1; 
writeln; 
writeln('кол-во нечет. чисел равно ',k,''); 
end.
6) Program n1; 
var a:array[1..100] of real; 
i,n:integer; 
s,sr:real; 
begin 
read(n); 
for i:=1 to n do 
read(a[i]); 
s:=0; 
sr:=0; 
for i:=1 to n do 
s:=s+a[i]; 
sr:=s/n; 
writeln('сред. арифметическое равно ',sr,''); 
end.
7)  Program n1; 
var a:array[1..100] of real; 
i,n:integer; 
min,max:real; 
begin 
read(n); 
for i:=1 to n do
read(a[i]); 
min:=a[1]; 
for i:=2 to n do 
if a[i]<min then 
min:=a[i]; 
max:=a[1]; 
for i:=2 to n do 
if a[i]>max then 
max:=a[i]; 
writeln('максимальный элемент равен ',max,''); 
writeln('минимальный элемент равен ',min,''); 
end.
8) Program n1; var a:array[1..100] of real; i,n:integer; min,max,nom1,nom2:real; begin read(n); for i:=1 to n do read(a[i]); min:=a[1]; nom1:=1; for i:=2 to n do if a[i]<min then begin min:=a[i]; nom1:=i; end; max:=a[1]; nom2:=1; for i:=2 to n do if a[i]>max then begin max:=a[i]; nom2:=i; end; writeln('максимальный элемент равен ',max,', его номер ',nom2,''); writeln('минимальный элемент равен ',min,', его номер ',nom1,''); end.
9) Program n1; var a:array[1..100] of real; i,n:integer; min,max,s,sr:real; begin read(n); randomize; for i:=1 to n do begin a[i]:=random(100)+1; write(a[i],'  '); end; writeln; s:=0; sr:=0; for i:=1 to n do s:=s+a[i]; sr:=s/n; writeln('ср. арифм. = ',sr,''); min:=a[1]; for i:=2 to n do if a[i]<min then min:=a[i]; max:=a[1]; for i:=2 to n do if a[i]>max then max:=a[i]; writeln('максимальный элемент равен ',max,''); writeln('минимальный элемент равен ',min,''); end.
4,5(6 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ