Всем привет!
Завтра, 17 марта 2018, в 18:35 по московскому времени состоится первый Уайлд-кард раунд VK Cup 2018. Кроме того, в это же время состоится неофициальная трансляция этого соревнования, в которой могут принять участие все желающие.
Раунды будут проведены по особым правилам и будут нерейтинговыми. Задачи были подготовлены командой Codeforces: fcspartakm, MikeMirzayanov и мной. Спасибо vovuh, GreenGrape, FalseMirror, Glebodin и vintage_Vlad_Makeev за тестирование и помощь в подготовке раунда!
В официальном раунде команды будут бороться за последний шанс попасть во второй раунд чемпионата, для этого необходимо попасть в 50 сильнейших команд.
Подробности правил будут размещены в этом посте примерно за полчаса до начала раунда. После раунда будет фаза открытых взломов продолжительностью в одни сутки, по аналогии с образовательными раундами Codeforces.
Правила раунда:
Вам предстоит почти обыкновенный раунд по правилам ACM-ICPC. Будут предложены 10 несложных задач на 2 часа. Набор тестов для задач на время раунда содержит базовые тесты (но они значительно сильнее претестов традиционных раундов). После окончания раунда у вас будет 24 часа для поиска тестов против чужих решений, аналогично традиционным образовательным раундам. По завершению фазы открытых взломов мы добавим все успешные взломы и перетестируем все решения. Только после этого результаты раунда буду объявлены окончательными.
Основное отличие от традиционных раундов состоит в следующем специальном правиле.
Каждую задачу вы можете сдавать только на своем одном (и отличном от других) языке программирования. При этом разные компиляторы/диалекты языка будут считаться одним языком. Например, компиляторы GNU G++, GNU G++ 11, GNU G++ 14 и MS C++ - это один язык (группа языков) C++. Таким образом, во время раунда вам предстоит не только решить задачи, но и попробовать базово изучить новые языки. Мы не рассчитываем, что вы знаете 10 разных языков. Наверняка, вам придется быстро вникнуть во что-то новое, изучив основной синтаксис других языков за время раунда.
Формально, отсылая решения будет произведена следующая дополнительная проверка:
- Если по этой задаче есть хотя бы одно непротестированное решение или решение, которое прошло хотя бы один тест, на другом языке, то ваше решение принято не будет. Таким образом, если решение прошло хотя бы один тест, то задачу можно сдавать только на этом же языке.
- Если по другой задаче есть хотя бы одно непротестированное решение или решение, которое прошло хотя бы один тест, на этом языке, то ваше решение принято не будет. Таким образом, использованный язык нельзя больше использовать для другой задачи.
Напоминаем, что у вас есть возможность (например, в архиве) выбрать просмотр всех успешных попыток по задачам предыдущего раунда и отфильтровать их по конкретному языку. Так вы сможете ознакомиться с примерами решений на любом из поддерживаемых языков. Кроме того, таблица ниже содержит разбиение конкретных компиляторов по языкам (группам языков) и ссылки на примеры исходных кодов на этих языках.
Во время раунда вы можете использовать вкладку "запуск" для тестирования своих решений, если интересующий вас компилятор у вас не установлен локально.
Группа языков | Языки программирования / компиляторы | Примеры |
---|---|---|
C | GNU C, GNU C11 | 10903473, 17029870 |
C++ | GNU C++, GNU C++11, GNU C++14, GNU C++17, MS C++, etc. | 23794425, 5456501 |
C# | Mono C#, MS C# | 3195513, 3794163 |
D | D | 5482410, 2060057 |
Go | Go | 7114082, 21366098 |
Haskell | Haskell | 455333, 1668418 |
Java | Java 8 | 25491359, 23678167 |
JavaScript | V8 | 35963909, 35681818 |
Kotlin | Kotlin | 25779271, 25204556 |
OCaml | OCaml | 6157159, 1281252 |
Pascal | Delphi, FPC, Pascal.NET | 1275798, 1259434 |
Perl | Perl | 2519448, 1277556 |
PHP | PHP | 413942, 35875300 |
Python | Python 2, Python 3, PyPy2, PyPy3 | 35883730 (Py2), 36179112 (Py3) |
Ruby | Ruby | 1837970, 1289551 |
Rust | Rust | 25180002, 35652442 |
Scala | Scala | 35847980, 2456025 |
Кроме того, основные правила формата ACM ICPC: каждая задача может быть либо полностью решена (если решение проходит все тесты), либо не решена. Участники в результатах располагаются по убыванию числа решенных задач, при равенстве числа решенных задач~--- по штрафному времени. Штрафное время вычисляется как сумма по каждой решенной задачи времени, прошедшего с начала раунда до времени решения этой задачи, в минутах, плюс 20 минут за каждую неудачную попытку по каждой из решенных задач. Обратите внимание, что задачи не расположены в порядке возрастания сложности. Кроме того, вы можете перепосылать решение, даже если оно прошло все тесты, так как после окончания фазы открытых взломов будет добавлено больше тестов.
Удачи!
Разбор здесь.
Там небольшая ошибка VK Cup 2017
Спасибо, поправил.
с первоапрельским контестом тоже самое
Не могу зарегистрироваться на официальный раунд, пишет что я уже зарегистрирован на неофициальный раунд, но это не так.
Пожалуйста, попробуйте еще раз.
Why unrated? Codeforces should have at least one rated round every weekend.
"The rounds will use special rules"
Oh, I missed that. Anyway, they should have a rated round on every weekend. Some people like me who enjoy coding only on CF quite enthusiastically wait for weekends for rated contests :)
There are other sites too that you can enjoy.
Atcoder is having a contest tomorrow.
Well, “should” is improper here.
Cf doesn’t have any obligations of holding a round per week.
looks like we cant talk about the legend of Unrated contest in CF with the Users registered after 23 NOV
Are these problems similar to those in Codeforces rounds?
The detailed rules will be added to this post around 30 minutes before the start.
After the contest we will solve the first 2 problems in 2 vedios
Why I'm unable to select team when registering in the Official Round?
Wild-card Round 1 who has been last year is very pretty. One programming language for one problem. Js, perl, c++, python, java, pascal — all of this languages try use everyone!
contest duration ?
2hr
We've got the same photo, bro!
I wish We had the same color :p :p
I think djqtxdy doesn't want to have same colour as you
you have to think positively,bro.
I do .
I wish someone had the same photo as mine
Коль это официальное соревнование, можно было бы придумать какую-нибудь пользу от взломов для официальных участников, а так это просто говорит о том, что авторы, возможно, подготовили не очень хорошие тесты. Представил ситуацию, что полуфинал ACM ICPC проводится с фазой открытых взломов...)
Польза от взломов есть когда ты взламываешь тех кто стоит впереди тебя)
Потом всё равно включаются систесты)
систесты = претесты + взломы
Не только.
Finally, unrated contest. It's becoming difficult to find such contests in Codeforces.
All virtual contests are unrated ;)
But, virtual is virtual, it's not real!
For Div1 users there are lots of unrated contests.
and where are the rules?
Posted above.
Не судьба было придумать новые правила?
То есть, например, я сдал задачу А на С++, а задачу Б на python. Другой участник от меня не зависит и может сдать задачу А на python? Не совсем понял этот момент.
Другие участники от тебя не зависят
Why the rules are the same as last year? I expect something new and interesting .QvQ
we will have some problems with compiling today (10 unique programming languages )
we can use online compilers :)
it is time to learn something new (Forced) ..
new ChallengeDay().execute();
i solved 5 problems :) nice
It was fun
if ( comment.evaluate() == content.bad ){
} else {
}
Just asking, who are you talking to?
The rules are the same for unofficial participants ?
Yes
Get it
Very nice opportunity to try new languages.For me I used :
Java8 — Python — C — D and C++ (my main)
Was a very good experience.
Hi, could you please add the problems to problem-set so that we could submit them in any language we want? there were some really good problems...... I would really love to get a chance to submit them..... thanks.
Just 1 minute late ;( http://codeforces.me/contest/953/submission/36367508
We kept C++ for the hard problem and couldn't use it :D LOL
I solved 8 problems in 8 languages I have barely seen and used, and I didn't have enough time to solve a problem in C++ (my main language).
The contest was fun anyways.
I used the same strategy and only passed my C++ problem in the last 24 seconds
Colorful, Colorful and Colorful!!!
I used javascript, C#, PHP, Ruby, Python 2, D, Java, C and C++ . It was fun like last year.
Congrats, nice result! We used C#, Java, Python, C, Kotlin, Go and D. Without C++ it was really funny :D
Есть ли штрафы/бонусы за неудачные/удачные попытки взломов? Если да, то какие?
Нет.
I think the language restriction should be removed in practice mode. Maybe I want to solve every problem in all languages lol.
Same here, except it's because I don't know that many languages :(
As the contest is finished, can we submit in same language?
can we discuss the problems now in the comments or should we wait until the hacking phase is finished?
I think you can, because you can see others' solutions
In the previous year authors said you shouldn't discuss it until hacking phase is finished. I think, the same rule this year.
ok, but it's strange
Спасибо! 8 лет ждал такого контеста. Почаще бы, и побольше бы времени и задач, чтобы больше языков попробовать.
how to solve J,E ?
E's approach is quite straight-forward:
Use a stack to store the new array. Iterate through the original array, and for each element, push it to the stack, and while the stack size is greater than 1, and its top element has the same value with is nearest element below, merge these two elements.
To solve J, I maintain a set of disjoint ranges. For example: if I insert the range [2, 4] and then [3,6], my set will contain only {[2, 6]}. But if I insert [5, 6] instead of [3, 6], the set will be {[2, 4], [5, 6]}.
You can see that the answer will be the amount of elements in the set, because the points that belong to different elements of the set will never coincide.
You can see my implementation, but if you don't understand something, please feel free to ask!
PD: this kind of set can be very useful, you should implement your own! :)
Че, пацаны, квиксорт?
Сишный умеешь ломать?
Умею только если там детерминированная функция (например
(L+R)/2
) или если random возвращает одни и те же значения (как в FPC / Delphi)Ты ломаешь по TLE подыскивая случаи когда он работает за квадрат?
Да.
Это не так сложно, упражнение уровня Div 1 A / Div 1 B.
GCCшный qsort, если на компьютере много свободной памяти вызывает сортировку слиянием :)
По ссылке приведена реализация: qsort, который вызывается у тебя, находится в самом конце.
Мой сишный qsort сломали так http://codeforces.me/contest/926/hacks/428220/test
Как и мой )
Но видимо шафл, даже не равномерный, должен спасать это этого
Забавно. Генератор на моём компьютере отрабатывает мгновенно, а в запуске кодефорса 4 секунды. Наверное в MinGW он по-другому реализован.
Зачем надо было себя ломать?
Потому что хотелось добавить в тестсет конкретный тест, а искать, какое решение на нем упадет, слишком трудозатратно.
Well,as an OI-participant,I can only use C/C++ and Python 3.
Fortunately, a friend of mine can coding in java and I tried to use pascal and C# for I think they are similar to C.
Finally, we solved 6 problems. I have to say that it's an excellent round!
Не работает генератор взломов на С++ 17. проблема была еще на первом раунде, до сих пор никаких изменений.
Could we submit these problems by any language now? It's difficult for me to translate C++ to other language and I really want to have change to slove these problem...
You can add these problems to a mash up in the gym and then you can solve them without the language restriction.
Thanks a lot...In these days I have started the virtual participation of this contest many times to unlock the limit of language. But I could submit only one problem during each VP...