Всем привет!
8-го июля в 19:00 по московскому времени стартует квалификационный раунд Яндекс.Алгоритма! Напоминаю, что раунд виртуальный, а это значит, что вы можете запустить его в любой момент в течение суток с момента старта, после чего для вас лично начнется 100-минутная квалификация (даже если начать в 18:59). Пожалуйста, не обсуждайте задачи до 20:40 9-го июля — чей-то квалификационный раунд может продолжаться.
2000 лучших участников, справившихся хотя бы с одной задачей, будут приглашены для участия в отборочном этапе. А для тех, кто прошёл квалификацию в тестовом раунде, данный контест будет отличной возможностью ещё раз прочувствовать тестирующую систему и особенности TCM/Time.
Вперёд, за орденами! На кону почти две сотни футболок и более полумиллиона рублей! =)
UPD: Материалы раунда доступны на официальном сайте соревнования.
Наверно, до 20:40 лучше не обсуждать? Также интересно, какие будут санкции и как это все будет отслеживаться?
Спасибо за внимательность, время исправлено. Мы исключительно напоминаем добросовестным участникам соревнования и сообщества разрешенное время начала обсуждения.
Qualification will last 100 minutes even if you will start at 6:59 p.m. Please, do not discuss the problems until 8:40 p.m. July 9 why same as start 4:00 p.m someone can be still solving the problems. You need not type did not :D
I did not understand
Is pascal allowed? because this is the only programming language that i can use.
I think that it is allowed.
Maybe I missed something, but how can you prevent someone from cheating, like, creating two accounts, opening the problems with one account, solving them, and then submitting them with the other account later?
This does not work, actually. The quota is 2k, you can write at most 5 different solution during the contest, so you can not make a significant impact on results.
We have a system that finds similar solutions and presents suspicious pairs of solutions to the judge.
No, I mean using the first account to read the problems in order to gain time advantage.
so true. Also, if you do bad in your allocated 100mins, you can just register a new account and try again. so basically, the qualification round is 24hrs.
Basically, most participants do not think about any cheating, cause that makes no sense — if u are not able to qualify to 2000 in fair manner, your chances to go to final are equal to 0.
Also, I suppose cheaters will be banned for good and all.
most participants do not think about any cheating
Not sure if you have ever organized online contests, but from my experience I can say that there will as many cheaters as rules will allow. And for this competition virtual contest seems like a poor idea. Why not make it 24 hour long contest like google does?
Just don't do it — it's that easy. Almost as easy as to go into the store and don't steal anything.
Что там с prewritten code? Емакс можно копипастить?
Разрешается использование любого prewritten code, опубликованного в Интернете до старта квалификации, в случае, если это не нарушает права автора данного кода.
Good luck to everybody!
На страницах задач не работает элемент "Выбрать язык" (Firefox 22, Linux). Если нажать "Отправить", то решение посылается с языком, выбранным в первый раз.
Видимо, это следовало тестить в тестовом раунде...
То есть, обнаруженные после тестового раунда (который кто-то мог и не писать) баги следует игнорировать?
В тестовом раунде все работало нормально!!!
аналогично Linux Ubuntu 13.04 Chrome, Firefox — выбрать язык невозможно!!! Одну отправку уже потерял, подумал, может, автоматом откомпилирует С++. Но нет, получил, СЕ — программа на С++ компилировалась Java 6. Интересно, те, кто отправляют решения вслепую получают вердикт об ошибке компиляции?
"При отправке решения «втёмную», оно сначала проверяется промежуточным набором тестов, перечисленных в условиях каждой задачи. Если решение не проходит их, участнику сообщается тип ошибки и номер теста, на котором она произошла."
цитата из правил))
Ubuntu 13.04, Chrome, никаких проблем с выбором языка не было, вкладку "посылки" не использовал
Получил сообщение — просят использовать вкладу Посылки. Там все работает.
a
Sure, after round ends up. We hope to do it soon
a
А тесты откроют?
Archive of the contest
Будет ли разбор задач?
Раунд виртуальный, поэтому раньше, чем завтра вечером (по Москве 20:40) разбора не будет.
How is the contest system supposed to work:
Right now I can see the results here: http://algorithm.contest.yandex.ru/contest/307/standings/?p=1
However when I log in it disappears.
Reported to developers. Thanks.
Update: atleast in current qualification standings will be open for everyone. For future qualifications/other virtual rounds possibility for everyone to see the standings will be discussed.
Yandex has a foul contest scheduling. Totally insane.
i support yandex! its a good encouragement for all.
(mistook in last comment)
They exposed themselves. Go home yandex, u r drunk!!
Dude, u may drunk I think!
By unliking this comments you guys are proving nothing went wrong. Huh!! Just for a t-shirt the insanity scale is rising above. Go on, we are being amused by this as more effectively as u unlike more.
Условия в pdf файле отличаются от интернет-условий! Задача B абсолютно другая! После того как я задал клар, pdf условия удалили (по-моему). Как так-то? Прошло часа 4 после начала квалификации, и неужели никто, кроме меня, не заметил?
How many problems are there in the contest? It would be very kind if you answer and only after that put a minus on this comment, because there are already 3 people who could answer me but they didn't.
6
Thanks, man)
Как всегда Yandex доказывает, что упор делается на математику. И это круто)!
И в чём крутость?
Уберите спойлер!
Всем спойлерам спойлер! Пойду сдам все за 3 минуты, я ведь теперь знаю, что там ... математика!
надо будет весь курс повторить пока время еще есть)
Блин, это не просто "упор на математику", это "только математика, только хардкор!"
Да ладно, всего одна забавная с формулой и уже хардкор:)
Спасибо, что заменили файловый ввод/вывод на привычный стандартный!
Там условия только на английском?
Доступны условия на русском. Нужно переключить язык на русский в нижней части страницы
А нельзя добавить в таблицу результатов поиск по людям, а лучше, как CF результаты друзей? А то, чтоб увидеть результат людей, которых тебя интересует требуется просматривать много страниц.
Можно ещё фильтр по странам сделать. Так тоже удобно.
работаем над этим! =)
Could you enable us to see the test cases, like in codeforces? If not, please put them for download (but ofcourse after the contest ;) ). It would be very great if you did that! :) Thanks!
all test data will be published after the contest
Archive is at the competition site
When I go to the link, it shows:
The URL you requested has been blocked. URL = invalid
Which link do you mean? http://algorithm.contest.yandex.com/ or the archive?
The archive.
That's strange. The link works perfectly for me, also works in the incognito mode. Can you visit disk.yandex.com?
Снято.
Просто если тебе не понятен ответ, то это как говорит Аршавин "Твои проблемы".
Такой ответ наиболее часто выдает жюри четвертьфиналов и полуфиналов ACM, только на английском: "Read the problem statement".
Спасибо за ответ. Не знал.
Удалено.
Ответ "Read the problem statement" ("Читайте условия задачи") обозначает, что ответ на вопрос участника содержится в условии задачи. В частности, если автор задачи не пояснил сэмпл, это относится и к разбору сэмпла. Ещё пример — участник неправильно прочитал формулу (такие случаи были с D).
Ответ "No comments" ("Без комментариев") обозначает, что на заданный участником вопрос у жюри нет ответа. Это бывает в случаях, когда ответ проясняет часть решения; когда заданный вопрос вообще не имеет значения для данной задачи (пример: вопрос насчёт не указанного и не запланированного в условии соотношения параметров, например, "бывает ли p1==p2" в задаче B); когда вопрос касается содержимого того или иного теста ("А верно ли, что третий тест...").
А у меня одного в регистрации не работает кнопка на которой нарисовано многоточие? (Зайти через другую систему). Точнее работает, но когда ведешь к всплывшему окну, то оно пропадает. (даже в двух браузерах попробовал)
Жаль, в D не успел сделать массив из 100 значений посчитанных вольфрамом.
Ага, по началу это казалось неплохой идеей, но чем дальше, тем больше было понятно, что это сложно и очень много опечаток :(
Какие опечатки? Кликаешь по ответу — получаешь в нормальном копирабельном виде.
Упс..:)
Пфф... Шли бы вы отсюда, петушки =)
OMG. В питоне нету объявления массивов типа a[2][2] = {{1, 2}, {3, 4}} ?
можно воспользоваться не вольфрамом, а питоновской библиотекой Sympy. Находим в википедии простую формулу с числами Стирлинга и пишем что-то примерно вот такое:
Этот код выдает символическую формулу для Li - n(z), которую остается только скопипастить в решение))
Я тоже до этого додумался, но это было как-то глупо делать на мой взгляд, интересно было бы узнать нормальное решение задачи D. Кстати возможно ли сдать Е быстрее чем за n * log ([сумма всех задач/k] + 1 )?
Никто вам не мешал сделать Table[ sum(n = 1, inf) n^a/b^n , {a, 1, 10}, {b, 1, 10} ], но это не назвать решением ...
O(n * log n) за счет сортировки. После сортировки решается в один проход, перед сортировкой оставляем в массиве остаток от деления количества задач в теме на мощь вундеркинда. upd. Вот кусок кода для случая k,x>0 http://likecode.ru/code/51dc4846099bd/
Не подскажешь что мы проверяем в этой линии ? пусть отсортили за n log n, разве без бин поиска по ответу не обойтись ?
Мы сортируем для вундеркинда. Сначала он из каждой темы берет задач сколько он умеет решать по максимуму. Находим это количество в первом проходе, когда находим mod. Если можно решить все задачи за время пока вундеркинд может брать полные наборы, то получим ответ в одно действие. Иначе — вундеркинд из отсортированного массива забирает по очереди весь остаток задач с каждой темы.
Обозначим 1/b = x, тогда получится ряд, для которого можно посчитать область сходимости. Для каждого a можно посчитать сумму ряда в вольфрам-альфе. Дальше для любого b считается достаточно быстро.
Формулы получаются несложные, возможно рекуретно выводящиеся. Тогда возможно, для любого a можно было их вывести.
Чтоб получить результат для a=a+1, нужно взять производную для ответа для а, и домножить на х. Если сделать замену t=х-1, то все очень красиво получается. Для а=0 — ответ это сумма геометрической прогрессии, для каждого последующего а по формуле из первой строки.
UPD. после таких замен значение функции превращается в вид X1/t+X2/t^2...+X(a+1)/t^(a+1) После обратной замены 1/t = b/(b-1), все легко считается в целых числах без использования целочисленной дробной арифметики. http://likecode.ru/code/51dc4d97afb73/
UPD2. Невнятно написал, распишу подробней. Делаем замену, x=1/b При a=0 получаем ряд x+x^2+x^3... Почленно продифференцируем, и полученный ряд домножим на x. Получим 1*x+2*x^2+... — то есть получили ряд при a=1. Еще раз почленно продифференцируем и домножим на x. Получим 1^2*x+2^2*x^2+3^2*x^3... — ряд при a=2 и т.д. Сумма ряда при a=0 равна x/(1-x), сделаем замену t=x-1 (то есть x=t+1) Сумма ряда при этом стала равна -1-1/t. Возьмем производную, получим 1/t^2, домножим на x=t+1, получим 1/t+1/t^2 — это сумма ряда при a=1. Опять возьмем производную, и домножим на (t+1) и т.д. Коэффициенты при 1/t^j — будем хранить в массиве. Получив все коэффициенты сделаем замену 1/t=b/(1-b)
Можно было решать так.
вывести или загуглить формулу: .
Честно реализовать то, что получилось, для многочленов.
Можно было вывести табличку получившихся вещественных чисел (просуммировав первые несколько членов ряда — понятно, что он быстро сходится, если b != 1), увидеть, что в знаменателе у результата на вид всегда b-1 в какой-то степени, и понадеяться на удачу.
Почему-то сдается.
upd: Даже не знаю, какое решение мне больше нравится, твое с гуглом или мое с подгоном под ответ.
Такого решения мы не ожидали. Забавно.
Делал то же самое, проверив результат на "10 2" через OEIS. Кроме того, домножал не на фиксированную степень знаменателя, а просто на b-1 пока не будет, что число с точность 1e-4 целое. Это заходит с запасом, если учитывать, что всегда можно суммировать double точнее, чем по очереди.
Ещё можно было так. Понятно, что при b = 1 ответ inf, а при b != 1 нужно только узнать константы это решить системы линейных уравнений, правда всё в BigInteger.
Если не ошибаюсь, задача Е решается за O(n):
1) Найдём наибольшее количество дней, которые Гена сможет решать по Х задач, и количество оставшихся студентам задач => сколько дней нужно студентам, чтоб дорешать те задачи.
2) Если количество дней Гены не меньше чем у Студентов, выведем ответ: сумма/(К+Х) с округлением вверх. Иначе:
3) Иначе Гена должен дальше помогать студентам, но уже решая за день меньше чем Х задач.
Заменим исходный массив на массив остатков при делении на X ( все остальные задачи Гена уже решил). Далее, очевидно, Гена будет "брать" по одному числу из этого массива каждый день, а значит выгодно ему брать максимальные. Это будет продолжаться до тех пор, пока студентам на оставшиеся задачи студентам не понадобиться количество дней работы, не большее чем у Гены.
4) Искомое количество дней можно было б легче подсчитать, отсортировав массив остатков, и пройдясь от большего элемента к меньшему, но чтоб получить линейную асимптотику придётся довольствоваться лишь частичной сортировкой:
Найдём центральный элемент массива, перекинем все элементы больше его в левую часть, меньше — в правую. Соответственно мы узнаем сумму чисел в левой половине, и сможем сказать, достаточно ли нам её. Если достаточно — продолжим аналогично на левой половине, иначе — на правой. Получается что-то типа бинарного поиска но с линейным временем работы в сумме.
Итого это потребует операций N + N/2 + N/4 + ... = O(N)
Раунд в идейном плане неплох, но мне не очень понравился по следующим причинам:
D — прекалкилась Вольфрамом, что не очень-то хорошо для такого формата соревнований
E — не понимаю, зачем было делать такие говнистые ограничения не эту тривиальную задачу? В результате у тех, кто сдавал втемную, практически не было шансов ее сдать
Эм, а что не так с задачей Е? Сдал совсем тупой O(n*lg(n)*lg(sum)), работает секунду на Джаве.
А, я понял, X = 0, наверно.
Ну конечно. Думаю, это основная проблема у всех была.
Я сдавал её весь контест, так как тоже написал бин. поиск и чтобы проверять, правда ли, что все участники успеют отрешать всё, что не успел вундеркинд умножал K на предполагаемое количество дней и получал выход за границу long long'а, и есть у меня подозрение, что найдется ещё хоть кто-нибудь, кто делал бы также :)
UPD: тоже, как и yarr, а не как goryinyich.
Я посидел, подумал над этой строчкой и написал в бигинтах этот иф :D
вооо WA 31 ?))
У меня 41.
Хотя это, наверное, зависит от изначальной оценки на правую границу бин. поиска, если делать её более грубой, то наверное, можно нарваться на wa раньше.
я сделал 10^14 (как макс ответ), потом поставил ее как : [(сумма всех задач)/k] + 1 и все зашло (правда дошло после окончания уже)
D — единственный раунд, в котором можно использовать эту задачу безболезненно, была квалификация. Мы знали про возможность предпросчета, и даже считали, что это хорошо. Есть довольно простой вывод необходимого рекуррентного соотношения.
EDIT: да, конечно, можно было сделать большие ограничения и требовать длинку.
E — а вы правда думаете, что все задачи должно быть можно сдать втемную безболезненно в этом формате?
Нет, я правда думаю, что не надо специально козлить в этом формате.
На топкодере тоже некоторые крайнии случаи не дают в сэмплах. Никто не жалуется... А тут есть выбор как сдавать.
Ни разу такого не встречал на топкодере. Всегда если есть какой-то случай, который можно не заметить в условии, и который требует отдельной обработки — на это дается пример. Ну или приведите пример задачи, если я не прав.
Не всегда даётся минтест. Например задача про gcd с какого-то старого TCO 500 с 1 раунда кажется...
UPD: вот задача Два регистра
Пример задачи так и не привели. Минтест и частный случай — это разные вещи. Здесь можно было даже не заметить, что в инпуте возможен 0.
0≤X, K≤109, 1≤X + K Как можно не заметить?
Давайте устроим голосование, и проверим, кто заметил с первой попытки. Еще раз повторюсь, что, из моего опыта, на топкодере такого не бывает.
Если минтест принципиально является частным случаем для конкретного решения — в чем тогда различие? Можно ведь написать так, чтобы все работало без костылей.
А иначе это все равно что написать функцию проверки на простоту, в которой первой строкой if (n%2==0)return false; и потом называть число 2 частным случаем, который портит всю малину.
Почему отсутствие в сэмплах крайнего случая теперь называется "специально козлить"? К тому же посылка в темную и предполагает, что Вы идете на риск (и уж кажется логичным, при этом проверить крайние случаи).
В задачах на теорию чисел 2 и степени двойки это всегда такой дол^Wчастный случай...
Потому что во всех нормальных чемпионатах так перестали делать уже в прошлом веке, кажется...
Задача NumberGrid с финала ТСО 2011 года. Там был особый случай 1*n, где n > 1, но его не было в семплах
То чувство, когда на одной из упомянутых задач упал, а вторую ресабмитил.
А в СПбГУ считают(ну многие), что задачи с изюминкой это хорошо))
Ну, надо полагать, участники хотя бы осознавали, что такой случай возможен?
У меня же в данном случае претензии не к тому, что вот авторы такие-плохие дали частный случай, а именно к тому, что он совершенно незаметен.
А в НИУ ВШЭ считают (тоже многие), что это полный отстой =)
В чем его незаметность? Ноль в ограничениях всегда наводит на мысли, нет?
В том, что я нуля в ограничениях не заметил. Вот если бы он был в примерах (что на всех нормальных контестах обычно делается) — другое дело.
А авторы-то в чем виноваты, что вы плохо прочитали ограничение? Или надо ноль было 20-ым шрифтом написать?
Так может проблема таки в "не заметил"? Ну а чем это отличается от "написать решение за квадрат, ой, а я не заметил, что ограничение 10^5, авторы бяки"
Нет, надо было просто дать 1 пример с ним. Что все нормальные люди делают — у меня с частными случаями уже не помню когда проблемы на контестах были.
В этом проблема, безусловно тоже, но только отчасти. А авторы все равно бяки, поскольку давать такую явную подставу на АСМ — это я еще могу понять, но делать из соревнования быстрого формата лотерею типа "засабмитил в открытую ИЛИ не повезло" — это просто превращение соревнования в трэш.
========================================================
Выбор стратегии — дело участника. Если вы в конкретной задаче уверены в своей внимательности (при чтении условия, при написании решения, при тестировании), хорошей стратегией будет посылать «втёмную». В противном случае хорошая стратегия — посылать «в открытую».
Соответственно, если у вас падает задача, посланная «втёмную» — это повод пересмотреть в следующий раз стратегию. Может быть, в следующий раз стоит посылать подобную задачу «в открытую». Кстати, наличие квалификационного и тестового раундов несколько упрощает вам задачу выбора стратегии в следующих раундах.
Если участник выбирает стратегию «всегда посылать всё втёмную», это его право, но жюри имеет право выбирать задачи, которые затрудняют выигрыш с такой стратегией. Лично я считаю, что соревнования по таким правилам интересны, когда в них часто выигрывает участник, не пользующийся какой-либо из тривиальных стратегий («всё втёмную» или «всё в открытую»). В противном случае имело бы смысл выбрать одну из версий правил.
(Упс, кажется, я три раза сказал почти одно и то же?..)
Спасибо, кэп =) Питерцы — традиционно фанаты трэша, поэтому даже спорить не буду.
==========================================================
Это единственный оставшийся аргумент? OK.
Да нет, просто разборка шла на тему "зачем трэш в контесте", вы написали "трэш — это хорошо и интересно". Ну, это два несопоставимых взгляда на жизнь, нам друг друга не переубедить и даже не понять.
==========================================================
Я могу понять людей, которым нравится одно в задачах и не нравится другое. Тем не менее, есть пункты, находящие в данный момент понимание у большинства авторов (например, что в хорошей задаче в файле с тестом после конца теста ничего быть не должно). А есть пункты, которые пока не поддерживаются большинством (например, что в хорошей задаче все крайние или неочевидные случаи должны быть разобраны в примерах). Если вы хотите изменить мнение других авторов по одному из таких пунктов — придётся делать это аргументированно и без ругани, иначе (как показывает это обсуждение) ничего не получится.
Это если вы действительно что-то хотите изменить, а не закончить на "нам друг друга не понять" и так дальше и разочаровываться в половине контестов.
И где здесь частный случай? 1? Это надо написать задачу через очень другое место, чтобы общее решение для этого случая не работало.
А мне, наоборот, кажется, что такие задачи очень хорошо вписываются в этот формат. Для них хорошая стратегия — посылать «в открытую».
Как решать С?
Таки-разобраться с теорией Шпрага-Гранди, а не просто выучить как решается ним
Линк в студию? Пойду разбираться))) Лично мне мои познания в этом направлении абсолютно не помогли, и я просто подгонял ответ под брут.
Ну хотя бы здесь почитайте. Если разберете материал — думаю, решите задачу достаточно легко
Ого, сколько там всего) Спасибо, в свободное время почитаю.
Part'а I за глаза хватит, чтобы покрыть 90% задач с контестов по теории игр =)
Да мне за глаза хватало и "_ксорим все и сравниваем результат с нулем_"=)
И этого было достаточно, чтобы решить эту задачу :)
В зависимости от того, что называть словом "решить"). У меня АС, хотя без комментариев ниже я не понимал, как оно работает и почему, а сейчас уже понимаю, что оно у меня находит, и почему это ответ, но все еще не до конца понимаю, почему получаются именно эти, правильные, числа.
Вот сижу и расписываю:)
Я про то, что для решения из всей теории игр вполне можно использовать только этот факт ("ксорим все и сравниваем результат с нулем").
Так как же решается С?
Первое число равно (N*(N+1)/2.
Дальше понимаем, что наша игра есть простой ним. Посчитаем xor всех чисел от 1 до N. Немного помогает то, что (2*k)xor(2*k+1)=1.
Дальше если XOR равен 0, то ответ 0. Если XOR=1 , то ответ (N+1)/2.
Для всех остальных XOR я заметил, что номера кучек, из которых мы можем совершить первый ход, образуют ряд последовательных чисел, последнее из которых равно N.
Дихой найдём первое число в этой последовательности.
Кучка подходит, если XOR^i<i.
А можно про это поподробней: (2*k-1)xor(2*k)=1? Что-то оно не работает.
Исправил. Теперь правильно. Чётное число (2K) оканчивается в двоичной системе 0. 2K+1 будет отличаться лишь тем, что в конце будет стоять 1.
Пусть 2K={mask}0,тогда 2K+1={mask}1. Если проксоришь, то {mask}^{mask}=0, и останется только 1.
удобнее использовать то, что 4k^(4k+1)^(4k+2)^(4k+3) = 0
Решал следующим образом. Посчитаем XOR (побитовое сложение по модулю 2) всех чисел от 1 до N. Пусть мы получили число S. Для того, чтобы позиция стала проигрышной, нужно изменить одно число так, чтобы новая сумма S' стала равна 0. Если мы заменим некоторое число X на X' (X' < X), то полученная сумма будет равна: S' = S^X^X', то есть нам нужно, чтобы существовал X', такой что S^X^X' = 0, что равносильно S^X = X'. Значит, если мы хотим изменить кучку размера X, необходимо и достаточно, чтобы выполнялось S^X < X (очевидно, что для каждого X мы можем сделать не более одного хода). Легко проверить, что данное неравенство верно тогда и только тогда, когда в числе X выставлен бит I, где I — старший ненулевой бит числа S. Соответственно, ответом на задачу будет количество чисел от 1 до N, в которых выставлен этот бит I.
Причем для получающихся чисел этот бит всегда либо старший из всех встреченных битов (тогда ответ — расстояние от n до ближайшей снизу степени двойки), либо младший (тогда ответ — (n + 1)/2 — годятся все нечетные), либо его нет (тогда ответ 0).
У этой задачи очень короткое условие. Вычислите сумму .
Да-да, причём большую часть условия занимает фраза "У этой задачи очень короткое условие".
i think my solution on problem B was better than one int the site; we know that k>=4 . if k>=4 and k^2=p1*p2+1 than k must be even and k-1 and k+1 must be primes. at first i use eratostenes sieve and than iterate (k=4;k<=n; k+=2;) if(k-1 and k+1 prime)print k;
please coment it's time complexity.
why is this if k>=4 and k^2=p1*p2+1 than k must be even and k-1 and k+1 must be primes,I dont understand the theorem you used.can you please explain...
IMHO, k^2=p1*p2+1 => k^2-1=p1*p2 => (k-1)*(k+1)=p1*p2 => (k-1)=p1, (k+1)=p2. But it's wrong. UPD1: I was wrong.
It isn't wrong. p1,p2 are prime so
k-1 = p1, k+1=p2 OR k-1=1, k + 1 = p1*p2 = 3 but that's impossible
It's correct.
There are 4 cases:
1) k — 1 = 1, k + 1 = p1 * p2 => k = 2 , p1 * p2 = 3 — impossible
2) k — 1 = p1 * p2 , k + 1 = 1 — impossible
3) k — 1 = p1 , k + 1 = p2
4) k — 1 = p2 , k + 1 = p1 — equal to 3)
You are right. I was wrong.
Получил вчера письмо от Яндекса следующего содержания:
Я занял место 1259-1283 и сдал 1 задачу, в правилах написано, что
Почему не прохожу в отборочный раунд не могу понять, что-то я видимо упустил?
В правилах также написано: «В отборочный этап могут пройти только участники, сдавшие хотя бы одну задачу в тестовом или квалификационном раундах».
Да, 1 задачу я сдал
А можете сказать, на какой адрес вы получили такое письмо?
Проверьте личку, пожалуйста
Я тоже получила такое письмо на один ящик и письмо о том, что прошла, на другой. Так получается если, например, один раз войти через гугл месяц назад, а другой раз через вконтакте неделю назад, и оба раза зарегистрироваться на соревнование. (Дальше тоже можно делать как я: осознать это после тестового раунда, когда пришло письмо о непрохождении дальше, и одновременно мое имя появилось в списке прошедших, спросить у организаторов, что делать, понять, что делать ничего не надо, можно просто участвовать от одного аккаунта).
В общем, скорее всего, это пишут тому аккаунту, который зарегистрировался и не участвовал. А у другого, вероятно (как было у меня), просто не подтверждена почта.
Интересно, а зачем посылать письмо тому, кто не участвовал. Вроде и сам должен догадываться, что не прошел. Недоработка.
При регистрации на контест указал почту на gmail, а письмо о том, что я прошел пришло все равно на ящик в яндексе. Зачем тогда просят основную почту указывать?
Will you make editorial as the test round you make a very good one? :)
I want to understand the C (Board Game), I have lot of try (I know the nim..) but my last try got TLE, so I download the solutions, but I didn't get it. The solution is very short, exists some short explanatation? (Or just should realize this pattern?)
UPD: Sorry my comment, I found the analysis .