denishka9503
19.04.2020 20:55

решить задачу на питоне Харитон оказался перед непростым выбором: ему нужно решить, на какую из двух пересдач он пойдёт. К его огорчению, пойти на обе пересдачи он не может, так что ему приходится оценивать плюсы и минусы каждого решения.

Харитон уже придумал n доводов, склоняющих его к тому или иному решению. С его точки зрения, эти доводы имеют различный вес. Действительно, то, что Харитон практически не знаком с одной темой, конечно, более весомый факт, нежели то, что синоптики обещают дождь во время одной из пересдач.

Изначально Харитон собирался пойти на первую пересдачу. Но теперь он планирует последовательно рассмотреть все доводы и только после этого принять решение.

Чтобы не менять мнение слишком часто, Харитон выбрал некоторое число s. Если после рассмотрения очередного довода сумма доводов в пользу одной из пересдач будет превышать сумму доводов в пользу другой на величину, не меньшую s, Харитон сочтёт, что ему следует пойти на ту, сумма доводов которой больше. Конечно, возможно, что он и до этого считал именно так: в этом случае Харитон не меняет мнение.

Ваша задача — определить, на какую пересдачу пойдёт Харитон и сколько раз он поменяет свое мнение в процессе рассмотрения доводов.

Примечание. Чтобы отличать доводы в пользу первой и в пользу второй пересдачи, во входных данных доводы в пользу второй пересдачи будут записаны со знаком «–». Разумеется, сравнивать суммы доводов нужно по абсолютной величине.

Входные данные
В первой строке содержатся целые числа n и s (1 ≤ n ≤ 105,  1 ≤ s ≤ 109) — количество доводов и величина s, описанная в условии.

Во второй строке содержится n целых чисел d1, d2, ..., dn (1 ≤ |dj| ≤ 105) — веса доводов. Если довод имеет положительный вес, он в пользу первой пересдачи, если отрицательный — в пользу второй.

Выходные данные
В первой строке выведите число 1, если Харитон пойдёт на первую пересдачу, и число 2, если Харитон пойдёт на вторую пересдачу.

Во второй строке выведите целое число — сколько раз Харитон будет менять мнение в процессе рассмотрения доводов.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
owl42
20.11.2021 05:11

var i,j,n,k,k1,k2,k3: integer; bb: boolean;

a: array of integer;

begin

write('N = ');

readln(n);

if ((n mod 3 = 0) and (n<>0)) then begin

write('K1 = ');

readln(k1);

write('K2 = ');

readln(k2);

write('K3 = ');

readln(k3);

setlength(a,n);

for i:=0 to n-1 do begin

write('Заполним номер ',i+1,' -> ');

readln(a[i]);

end;

i:=0;

while (i<n) do

begin

a[i]:=k1-a[i];

a[i+1]:=k2-a[i+1];

a[i+2]:=k3-a[i+2];

inc(i,3);

end;

write('K = ');

readln(k);

for i:=0 to n-2 do

if (a[i]+a[i+1]>=k) then begin write('В комнатах ',i+1,' и ',i+2,' есть ',a[i]+a[i+1],' свободных мест'); bb:= true; end;

if (bb=false) then writeln(0);

end else writeln('Введите число кратное 3 и неравное 0');

readln;

end.

0,0(0 оценок)
Ответ:
nastyap20032
01.01.2020 15:33

1089

Объяснение:

Заменим буквы на цифры следующим образом: А — 0, Г — 1, И — 2, Л — 3, М — 4, О — 5, Р — 6, Т — 7. Получаем список:

1. 0000

2. 0001

3. 0002

4. 0003

5. 0004

6. 0005

7. 0006

8. 0007

9. 0010

...

Для нахождения первого слова, которое начинается с букв ИГ, нужно найти номер ИГАА, то есть 2100. Используется восьмибуквенный алфавит, значит, нужно найти значение числа 21008 в десятичном виде. Им является число 108810, но поскольку номер в списке на единицу больше самого числа, то остаётся добавить к получившемуся числу единицу. Получаем 1089.

 

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота