решить задачу на питоне Харитон оказался перед непростым выбором: ему нужно решить, на какую из двух пересдач он пойдёт. К его огорчению, пойти на обе пересдачи он не может, так что ему приходится оценивать плюсы и минусы каждого решения.
Харитон уже придумал n доводов, склоняющих его к тому или иному решению. С его точки зрения, эти доводы имеют различный вес. Действительно, то, что Харитон практически не знаком с одной темой, конечно, более весомый факт, нежели то, что синоптики обещают дождь во время одной из пересдач.
Изначально Харитон собирался пойти на первую пересдачу. Но теперь он планирует последовательно рассмотреть все доводы и только после этого принять решение.
Чтобы не менять мнение слишком часто, Харитон выбрал некоторое число s. Если после рассмотрения очередного довода сумма доводов в пользу одной из пересдач будет превышать сумму доводов в пользу другой на величину, не меньшую s, Харитон сочтёт, что ему следует пойти на ту, сумма доводов которой больше. Конечно, возможно, что он и до этого считал именно так: в этом случае Харитон не меняет мнение.
Ваша задача — определить, на какую пересдачу пойдёт Харитон и сколько раз он поменяет свое мнение в процессе рассмотрения доводов.
Примечание. Чтобы отличать доводы в пользу первой и в пользу второй пересдачи, во входных данных доводы в пользу второй пересдачи будут записаны со знаком «–». Разумеется, сравнивать суммы доводов нужно по абсолютной величине.
Входные данные
В первой строке содержатся целые числа n и s (1 ≤ n ≤ 105, 1 ≤ s ≤ 109) — количество доводов и величина s, описанная в условии.
Во второй строке содержится n целых чисел d1, d2, ..., dn (1 ≤ |dj| ≤ 105) — веса доводов. Если довод имеет положительный вес, он в пользу первой пересдачи, если отрицательный — в пользу второй.
Выходные данные
В первой строке выведите число 1, если Харитон пойдёт на первую пересдачу, и число 2, если Харитон пойдёт на вторую пересдачу.
Во второй строке выведите целое число — сколько раз Харитон будет менять мнение в процессе рассмотрения доводов.
int knopka=0; int knopka2=0; void setup () { pinMode(13,OUTPUT); pinMode(12,OUTPUT); pinMode(9,INPUT); pinMode(8,INPUT); } void loop () {//КНОПКА 1// if(digitalRead(8)==HIGH&&knopka==0)//если кнопка нажата // и перемення "knopka" равна 0 , то ... { delay(50);//защита от дребезга knopka++;//пишем 1 в переменную кнопка //это нужно для того что бы с каждым нажатием кнопки //происходило только одно действие digitalWrite(13, !digitalRead(13));//меняем значение порта на противоположное } if(digitalRead(8)==LOW&&knopka==1)//если кнопка НЕ нажата //и переменная knopka равна - 1 ,то ... { knopka=0;//обнуляем переменную "knopka" } //КНОПКА 2// if(digitalRead(9)==HIGH&&knopka2==0)//если кнопка нажата // и перемення "knopka2" равна 0 , то ... { delay(50); knopka2++;//пишем 1 в переменную кнопка //это нужно для того что бы с каждым нажатием кнопки //происходило только одно действие digitalWrite(12,!digitalRead(12)); } if(digitalRead(9)==LOW&&knopka2==1)//если кнопка НЕ нажата //и переменная knopka2 равна - 1 ,то ... { knopka2=0;//обнуляем переменную "knopka2" } }
Компьютер- Электронно-вычислительная машина
Файл- Специально организованная структура данных, распознаваемая компьютером как единое целое
Колонка – группа излучателей, расположенных линейно (чаще всего вертикально).
Компью́терная мышь — координатное устройство для управления курсором и отдачи различных команд компьютеру
Принтер- Печатающее устройство, подключаемое к компьютеру.