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

Решите логические выражения


Решите логические выражения

👇
Открыть все ответы
Ответ:
vanila16
vanila16
10.04.2021

N=int(input())

a=[]

sum = 0

f = 0

c = 0

for i in range(N):

 l = int(input())

 sum = sum + l

 a.append(l)

if N == 1:

 print(1)

else:

 ans = []

 for i in range(N-1, 0, -1):

   if a[i] > a[i-1]:

     if sum > a[-1] or (sum > a[i+1] and f == 1):

       for k in range(c+1):

         ans.append(1)

       c = 0

       f = 1

     else:

       ans.append(0)

       f = 0

   elif a[i] == a[i-1]:

     c += 1

   else:

     ans.append(0)

     f = 0

   sum=sum-a[i]

 ans = ans[::-1]

 print(0)

 for i in range(c):

   print(0)

 for i in ans:

   print(i)

Объяснение:

с тебя 500 рублей у меня сегодня др

4,7(64 оценок)
Ответ:
smirnovy
smirnovy
10.04.2021

N = int(input())

if N == 1:

   exit(0)

 

bacteria = [0] * N

for i in range(0, N):

   bacteria[i] = int(input())

 

prefix_sum = [bacteria[0]] * N

for i in range(1, N):

   prefix_sum[i] = prefix_sum[i - 1] + bacteria[i]

ans = [0] * N

if bacteria[N-1] > bacteria[0]:

   ans[N - 1] = 1

for i in reversed(range(2, N)):

   if ans[i] == 1:

       prev = i - 1

       if prefix_sum[prev] > bacteria[i] and bacteria[0] < bacteria[prev]:

           ans[prev] = 1

for i in range(N):

   print(ans[i])

Объяснение:

g++-GNU C++ 8.3.1

4,8(55 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ