Приветствую всех на Codeforces Beta Round #72.
Авторами этого соревнования являются: Холкин Павел, Николай Кузнецов и Калужин Александр. Соревнование проходит одновременно в обоих дивизионах. Вам будут предложены задачи различного уровня сложности, и мы надеемся, что каждый участник справится со всеми трудностями и решит как можно больше задач.
Мы выражаем благодарность Артему Рахову и Павлу Кузнецову за помощь в подготовке раунда, Марии Беловой за перевод условий и Михаилу Мирзаянову за прекрасную систему.
Главным персонажем сегодняшних задач станет Валерий, которому вы будете помогать во всем.
Несколько слов об авторском составе. Несмотря на то, что мы представляем три разные команды из двух различных ВУЗов, старое знакомство и дружба воплотили этот раунд в жизнь. Идея совместного контеста пришла в голову достаточно спонтанно, но всех сильно заинтересовала. Мы немало потрудились и верим, что раунд пройдет успешно и понравится всем участникам.
Забавным совпадением является, что раунд совпал со знаменательной датой - пятницей тринадцатое. Надеемся это никого не смутит и все останутся довольны =)
Всем желаем удачи и высокого рейтинга =)
Upd: Контест завершен. Поздравляем победителей раунда:
в дивизионе 1 - tourist
в дивизионе 2 - StelZ40494
:)
Баг: попробовал нажать "Взломать" раньше, чем догрузился код, и вместо страницы взлома получил такое сообщение (явно не по делу):
Content on this page requires a newer version of Adobe Flash Player.
00:53:47 Полное решение [претесты] → ***
01:07:18 Решение взломано участником ***
01:10:34 Превышен предел времени на взломе 1 [взломы]
Если бы это был я, то при взломе просто бы отобразилось, что решение взломано, и я бы полез искать ошибки в коде, вместо того, чтобы оптимизировать алгоритм по времени. Может следует показывать, с каким вердиктом был сделан взлом?
Поясню, что, по всей видимости, произошло. Кто-то послал решение, оно прошло претесты, затем кто-то послал взлом и решение упало. Затем первый кто-то послал новое решение (кстати, не факт, что оно изменилось), оно опять прошло все претесты но упало на взломе. Причем, взлом наравне с претестами несет информацию о причине неудачи (в данном случае TL).
Итог: если вы хотите получить вердикт на взлом - пожертвуйте еще одной посылкой (и 50 баллами).
+21 / -1 - печалька же :(
Вообще есть мнение, что еще штук 5 решений в моей комнате свалятся, но мне лень было вникать в код.
Вообще очень поразило большое количество ошибок в Div-2.
В задаче B десяток людей считало ответ в int-ах. Интересно, им никак не намекнуло последнее предложение условия насчет вывода 64-битных чисел в C++?
И был один epic-код, куда же без них?
long long ans = 0;
...
cout << int(ans) << endl;
В задаче C очень много решений за O(NM). Просто делаем тест, где ни один выстрел не попадает в цель.
И еще один веселый взлом:
int change(int a) {
if (a >= 0) return a;
else return (-a) + 10000;
}
Сделал бы, я не знаю, +20001 хотя бы. А так уже готов тест с x=15000 и x=-5000 :)
только вот под конец все тормозило и каждый взлом занимал много времени
Where can I see the changes of my rating in a picture?
Please help me. :)
May I know how do I access the full testcase for testcase 56 problem C? The testcase got cut off halfway :S
Ugh, if I swap the order of 2 of my lines of code, I would have gotten AC for what qn :S
ну я могу сказать еще одно - радуйтесь) а лучше пишите оптимальные решения)
А в остальном проблемсет очень понравился - делайте ещё ;)
Или как другие взламывали можно увидеть?
Раньше смотрел - не было протокола, а просто подождать надо было.
Я так понял, что на время контеста форум закрывается? А нельзя оставлять открытой информацию, которая касается правил и тому подобного? Например, на этом контесте - для принятия решения о взломе - у меня возникла потребность узнать, какие компиляторы и опции используются.
They are back now.
The smaller participant the more rating?
May be because the Yandex contest was a mix of div 1 and div 2 contestants but this is a pure div 1.
Новая книжка вышла где-то.
Помню когда появился Кормен, так на все олимпиадах толкали задачи из Кормена :)
Надо как-то хорошо раскачивать навык концентрации. "Мы должны уметь программировать в любых условиях"©
я сначала когда прочитал, подумал что это про комнату на codeforsec и долго думал что значит фраза "в комнате бухают" :)
А вот последние два года в этом отношении жилищные условия лучше, вот и привык к хорошему. Но иногда бывает ВНЕЗАПНО %)
May I know how should problem D be done? Here are some ideas I have.
1. K must be prime. If not, the number will have some divisor smaller than K.
2. Suppose K >= 10000. Then, suppose X is a valid number. Then X/K <= 2*10^5. We can check the factors of each X/K up to min(K,sqrt(X/K)). Then the complexity is thus on the order of 10^7.
3. Suppose K <= 10000. I was thinking of applying PIE, but I am not sure how to compute that in a fast manner. :S
Thanks in advance for your help!
important for him. Since the doctor works long hours and she can't get distracted like that after all, she asked you to figure it out.
Russian ones:
http://codeforces.me/blog/entry/1961
http://codeforces.me/blog/entry/1976
http://codeforces.me/blog/entry/1979
Thanks for the links. However, do you know when will the English analysis be ready?