Автор KAN, 9 лет назад, По-русски

Всем привет!

Завтра, 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 минут за каждую неудачную попытку по каждой из решенных задач. Обратите внимание, что задачи не расположены в порядке возрастания сложности. Кроме того, вы можете перепосылать решение, даже если оно прошло все тесты, так как после окончания фазы открытых взломов будет добавлено больше тестов.

Удачи!

Разбор здесь.

  • Проголосовать: нравится
  • +112
  • Проголосовать: не нравится

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

Там небольшая ошибка VK Cup 2017

»
9 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Не могу зарегистрироваться на официальный раунд, пишет что я уже зарегистрирован на неофициальный раунд, но это не так.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится -80 Проголосовать: не нравится

Why unrated? Codeforces should have at least one rated round every weekend.

»
9 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится 0 Проголосовать: не нравится

looks like we cant talk about the legend of Unrated contest in CF with the Users registered after 23 NOV

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

Are these problems similar to those in Codeforces rounds?

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +21 Проголосовать: не нравится

After the contest we will solve the first 2 problems in 2 vedios

»
9 лет назад, скрыть # |
 
Проголосовать: нравится -14 Проголосовать: не нравится

Why I'm unable to select team when registering in the Official Round?

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +14 Проголосовать: не нравится

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!

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

contest duration ?

»
9 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +4 Проголосовать: не нравится

Коль это официальное соревнование, можно было бы придумать какую-нибудь пользу от взломов для официальных участников, а так это просто говорит о том, что авторы, возможно, подготовили не очень хорошие тесты. Представил ситуацию, что полуфинал ACM ICPC проводится с фазой открытых взломов...)

»
9 лет назад, скрыть # |
← Rev. 3  
Проголосовать: нравится +13 Проголосовать: не нравится

Finally, unrated contest. It's becoming difficult to find such contests in Codeforces.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится

and where are the rules?

»
9 лет назад, скрыть # |
 
Проголосовать: нравится -17 Проголосовать: не нравится

Не судьба было придумать новые правила?

»
9 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

То есть, например, я сдал задачу А на С++, а задачу Б на python. Другой участник от меня не зависит и может сдать задачу А на python? Не совсем понял этот момент.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +37 Проголосовать: не нравится

Why the rules are the same as last year? I expect something new and interesting .QvQ

»
9 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится -45 Проголосовать: не нравится

we will have some problems with compiling today (10 unique programming languages )

we can use online compilers :)

»
9 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

The rules are the same for unofficial participants ?

»
9 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +12 Проголосовать: не нравится

Very nice opportunity to try new languages.For me I used :

Java8 — Python — C — D and C++ (my main)

Was a very good experience.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +18 Проголосовать: не нравится

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.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +27 Проголосовать: не нравится

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

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +28 Проголосовать: не нравится

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.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +55 Проголосовать: не нравится

Colorful, Colorful and Colorful!!!

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +14 Проголосовать: не нравится

I used javascript, C#, PHP, Ruby, Python 2, D, Java, C and C++ . It was fun like last year.

»
9 лет назад, скрыть # |
← Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится

Есть ли штрафы/бонусы за неудачные/удачные попытки взломов? Если да, то какие?

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +45 Проголосовать: не нравится

I think the language restriction should be removed in practice mode. Maybe I want to solve every problem in all languages lol.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

As the contest is finished, can we submit in same language?

»
9 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

can we discuss the problems now in the comments or should we wait until the hacking phase is finished?

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +38 Проголосовать: не нравится

Спасибо! 8 лет ждал такого контеста. Почаще бы, и побольше бы времени и задач, чтобы больше языков попробовать.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

how to solve J,E ?

  • »
    »
    9 лет назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    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.

  • »
    »
    9 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +1 Проголосовать: не нравится

    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! :)

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +46 Проголосовать: не нравится

Че, пацаны, квиксорт?

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

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!

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +21 Проголосовать: не нравится

Не работает генератор взломов на С++ 17. проблема была еще на первом раунде, до сих пор никаких изменений.

»
9 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

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...