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++
126 дисков
Рассмотрим 6го покупателя
х-было
0,5х+1-продал
осталось 0
х-(0,5х+1)=0
х-0,5х-1=0
0,5х=1
х=1:0,5=2
Аналогично 5й покупатель
х-(0,5х+1)=2
х-0,5х-1=2
0,5х=3
х=3:0,5=6
Аналогично 4й покупатель
х-(0,5х+1)=6
х-0,5х-1=6
0,5х=7
х=7:0,5=14
Аналогично 3й покупатель
х-(0,5х+1)=14
х-0,5х-1=14
0,5х=15
х=15:0,5=30
Аналогично 2й покупатель
х-(0,5х+1)=30
х-0,5х-1=30
0,5х=31
х=31:0,5=62
Аналогично 1й покупатель
х-(0,5х+1)=62
х-0,5х-1=62
0,5х=63
х=63:0,5=126
ответ: Попов принес на ярмарку 126 дисков
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++
126 дисков
Объяснение:
Рассмотрим 6го покупателя
х-было
0,5х+1-продал
осталось 0
х-(0,5х+1)=0
х-0,5х-1=0
0,5х=1
х=1:0,5=2
Аналогично 5й покупатель
х-(0,5х+1)=2
х-0,5х-1=2
0,5х=3
х=3:0,5=6
Аналогично 4й покупатель
х-(0,5х+1)=6
х-0,5х-1=6
0,5х=7
х=7:0,5=14
Аналогично 3й покупатель
х-(0,5х+1)=14
х-0,5х-1=14
0,5х=15
х=15:0,5=30
Аналогично 2й покупатель
х-(0,5х+1)=30
х-0,5х-1=30
0,5х=31
х=31:0,5=62
Аналогично 1й покупатель
х-(0,5х+1)=62
х-0,5х-1=62
0,5х=63
х=63:0,5=126
ответ: Попов принес на ярмарку 126 дисков