Взгляніть, будь ласка, на цю задачу. Чомусб пише, що в мене неповне рішення. (Тільки ці дві задачі залишилися невирішенними з дванадцяти)
Олімпіада в школі юних чарівників
Учениця школи юних чарівників відмінниця Герміона отримала доручення підготувати завдання для олімпіади з магії серед учнів першого курсу. Всього потрібно скласти n завдань, за розв’язання кожного i-го завдання першокурсник отримую pi балів (де pi – ціле число не менше, ніж 1). Загальна оцінка учасника олімпіади розраховується, як сума балів за всі завдання.
Герміона вболіває за учня факультету Грифіндор, та знає, що учень Слізеріну теж приймає участь в олімпіаді. Тому вона хоче, щоб представник Слізеріну отримав менше балів, ніж представник Грифіндору. І вона намагається розрахувати бали за завдання таким чином, щоб учень Грифіндору отримав строго більше балів, ніж учень Слізеріну. Але вона не хоче, щоб бали грифіндорця були дуже великими, тому намагається мінімізувати максимальну суму pi за всіма задачами.
Допоможіть Герміоні знайти мінімально можливе граничне значення на кількість балів за одне завдання.
Формат входных данных
В першому рядку задано одне ціле число n (1 ≤ n ≤ 100) – кількість завдань в олімпіаді.
В другому рядку задано n цілих чисел g1, g2, …, gn (0 ≤ gi ≤ 1), кожне gi = 1 означає, що грифіндорець розв’яже завдання i, gi = 0, що не зможе розв’язати завдання i.
В третьому рядку задано n цілих чисел s1, s2, …, sn (0 ≤ si ≤ 1), кожне si = 1 означає, що слізерінець розв’яже завдання i, si = 0, що не зможе розв’язати завдання i.
Формат результата
Якщо грифіндорець ні в якому разі не може набрати більше балів, ніж слізерінець – виведіть -1. Якщо зможе – виведіть мінімально можливе значення max(pi), де i = 1, …, n, при якому можна задати такі значення pi, що грифіндорець отримає строго більше балів, ніж слізерінець.
Примеры
Входные данные
5
1 1 1 0 0
0 1 1 1 1
Результат работы
3
Входные данные
3
0 0 0
0 0 0
Результат работы
-1
Входные данные
4
1 1 1 1
1 1 1 1
Результат работы
-1
Входные данные
9
1 0 0 0 0 0 0 0 1
0 1 1 0 1 1 1 1 0
Результат работы
4
Примечания
У першому прикладі можливий розподіл балів p={3,1,3,1,1}, тоді грифіндорець отримає 7 балів, а слізерінець – 6.
В другому прикладі - обоє получать 0 балів.
В третьому прикладі – обоє розв’яжуть усі завдання.
n = int(input())
g = input()
g = g.split()
s = input()
s = s.split()
count_Grif = 0
count_Sliz = 0
now = 0
stavka = 0
write = 0
while count_Grif <= count_Sliz:
if stavka < 20:
stavka = stavka + 1
now = 0
count_Grif = 0
count_Sliz = 0
while now < n:
if int(g[now]) == 1:
count_Grif = count_Grif + stavka
count_Sliz = count_Sliz + int(s[now]) * stavka
else:
count_Sliz = count_Sliz + int(s[now]) * 1
now = now + 1
else:
print(-1)
count_Grif = 10000000000
write = 1
if write == 0:
print(stavka)