Форум » Обработка числовых последовательностей » Ошибка в задаче №3702 » Ответить

Ошибка в задаче №3702

Valetta: Здравствуйте! У меня возник вопрос относительно новой задачи №3702. У меня не сошёлся ответ с файлом A. В ключах дан ответ 66758, а у меня получилось 63400. К тому же, как мне кажется, в примере к задаче тоже ошибка: минимальная возможная сумма равна 35 (если заменить 9 на 14). Также в файле A 20 пар, что противоречит условию задачи. Предоставляю свою программу: [pre2] f = open('C:/Users/Office/Desktop/27_A_polyakov.txt') n = int(f.readline()) s = chet = nchet = 0 mndch1 = mndch2 = mndnch1 = mndnch2 = 100001 for i in range(n): x,y = map(int, f.readline().split()) x,y = max(x,y), min(x,y) s += y dif = x-y if y % 2 != 0 and dif % 2 != 0: if dif < mndnch1: mndnch2 = mndnch1 mndnch1 = dif elif dif < mndnch2: mndnch2 = dif elif dif % 2 != 0: if dif < mndch1: mndch2 = mndch1 mndch1 = dif elif dif < mndch2: mndch2 = dif if y % 2 == 0: chet += 1 else: nchet += 1 if (s % 2 == 0 and chet < nchet) or (s % 2 != 0 and chet > nchet): print(s) elif s % 2 == 0 and chet > nchet and chet - nchet > 1: print(s+mndch1) elif s % 2 != 0 and chet < nchet and nchet - chet > 1: print(s+mndnch1) elif s % 2 == 0 and chet > nchet and chet - nchet == 1: print(min(s+mndch1+mndch2, s+mndnch1)) elif s % 2 != 0 and chet < nchet and nchet - chet == 1: print(min(s+mndnch1+mndnch2, s+mndch1)) [/pre2]

Ответов - 1

Поляков: Спасибо, вы правы. Ответы и данные изменены.



полная версия страницы