УМОЛЯЮ СДАЮ ЧЕРЕЗ ЧАС B. Справедливое распределение подарков
ограничение по времени на тест1 секунда
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Дед Мороз подарил семиклассникам на новогоднем вечере большой мешок подарков. В классе учатся n детей. Когда открыли мешок, оказалось, что в нем находятся n+1 наборов конфет в различных красивых упаковках. Увидев, что на дне каждой упаковки указано количество конфет в наборе, дети выяснили, что в i-ом наборе находится ai конфет.
Дед Мороз попросил детей распределить наборы между собой одним из двух :
Один из детей получает два набора, остальные n−1 детей — по одному набору.
Все n детей получают по одному набору, оставшийся набор возвращается Деду Морозу.
Дети хотят распределить между собой эти наборы наиболее справедливым образом, считая несправедливостью распределения разность между максимальным количеством конфет, доставшихся одному ребенку и минимальным количеством конфет, доставшихся одному ребенку.
детям распределить подарки одним из Деда Мороза так, чтобы несправедливость распределения была наименьшей.
Входные данные
В первой строке дано одно целое число n (2≤n≤3000) — количество детей.
Вторая строка содержит n+1 целых чисел a1,a2,…,an+1 (1≤ai≤1000).
Выходные данные
Выведите единственное число — несправедливость наиболее справедливого распределения подарков.
Система оценки
Подзадача 1. Дополнительные ограничения: n=2. Оценивается в
Подзадача 2. Дополнительные ограничения: n=3. Оценивается в
Подзадача 3. Дополнительных ограничений нет. Оценивается в
Все подзадачи независимы. за каждый тест начисляются независимо.
Примеры
входные данныеСкопировать
2
6 3 4
выходные данныеСкопировать
1
входные данныеСкопировать
3
10 13 20 20
выходные данныеСкопировать
3
входные данныеСкопировать
4
23 42 35 52 100
выходные данныеСкопировать
29
var
a: array[1..1000] of real;
i, k, n, z: integer;
begin
writeln('введите число n: ');
readln(n);
writeln('введите число z: ');
readln(z);
writeln('введите ',n,' действительных чисел (каждое с новой строки): ');
for i : = 1 to n do
begin
readln(a[i]);
if a[i] > z then
begin
a[i] : = z;
k : = k + 1;
end;
end;
writeln('количество замен: ', k);
end.
1)
var
a: 100..999;
a1, a2, a3: 0..9; //а1 - сотни, а2 - десятки, а3 - единицы
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a1, a3, a2);
end.
2)
var
a: 100..999;
a1, a2, a3: 0..9;
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a2, a1, a3);
end.
3)
var
a: 100..999;
a1, a2, a3: 0..9;
begin
writeln('введите натуральное трехзначное число');
readln(a);
a1: = a div 100;
a2: = (a mod 100) div 10;
a3: = a mod 10;
writeln('полученное число: ', a3, a1, a2, a3);
end.
4)
var
a: 1000..9999;
a1, a2, a3, a4: 0..9;
begin
writeln('введите натуральное четырехзначное число');
readln(a);
a1: = a div 1000; //тысячи
a2: = (a mod 1000) div 100; //сотни
a3: = (a mod 100) div 10; //десятки
a4: = a mod 10; //единицы
writeln('полученное число: ', a4, a3, a2, a1);
end.
все остальное делается наподобие этого: просто в writeln меняешь местами цифры и все.