Дан набор из чисел. каждое число отнесли ровно к одному из 5-и мультимножеств: a,b,c,d или e.
по итогу такого распределения чисел получилось так, что все 5 мультимножеств не пусты, суммы элементов мультимножеств равны и соблюдается следующее условие:
для любых a ∈ a, b ∈ b, c ∈ c, d ∈ d и e ∈ e выполняется неравенство a ≤ b ≤ c ≤ d ≤e .
определите, правда ли, что такое могло произойти.
формат входных данных:
первая строка содержит одно целое число
(1≤≤10^5) – размер набора чисел.
вторая строка содержит целых чисел
(−109≤≤10^9) – сами числа набора.
формат выходных данных:
выведите , если возможно разбиение данных чисел на мультимножества. иначе выведите
sample input:
19
2 1 1 2 2 0 2 3 11 3 3 4 3 4 0 6 5 1 2
sample output:
yes
ответ:
n = int(
lstr = (" ")
ns = []
i = 0
tot = 0
while i < n:
ns.append(int(
tot += int(lstr[i])
i += 1
if tot % 5 == 0 and len(ns) > 4:
sm = int(tot / 5)
ns = sorted(ns, reverse=true)
ps = "yes"
su = 0
sk = 0
b = false
for n in ns:
if n ! = 0 and b:
su == 0
sk += 1
b = false
break
if sk == 5:
ps = "no"
break
su += n
if abs(su) > abs(sm):
ps = "no"
break
if su == sm:
b = true
print(ps)
else:
print("no")
объяснение: