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

Всем привет!

Уже завтра, пятого апреля 2017, в 18:35 по московскому времени состоится первый Уайлд-кард раунд VK Cup 2017. Кроме того, в это же время состоится неофициальная трансляция этого соревнования, в которой могут принять участие все желающие.

Раунды будут проведены по особым правилам и будут нерейтинговыми. Задачи были подготовлены командой Codeforces.

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

Подробности правил будут размещены в этом посте за 30 минут до начала раунда. Пока лишь скажем, что после раунда будет фаза открытых взломов продолжительностью в одни сутки, по аналогии с образовательными раундами Codeforces.

Правила раунда:

Вам предстоит почти обыкновенный раунд по правилам ACM ICPC. Будут предложены 12 несложных задач на 2 часа. Набор тестов для задач на время раунда содержит базовые тесты (но они значительно сильнее претестов традиционных раундов). После окончания раунда у вас будет 24 часа для поиска тестов против чужих решений, аналогично традиционным образовательным раундам. По завершению фазы открытых взломов мы добавим все успешные взломы и перетестируем все решения. Только после этого результаты раунда буду объявлены окончательными.

Основное отличие от традиционных раундов состоит в следующем специальном правиле.

Каждую задачу вы можете сдавать только на своем одном (и отличном от других) языке программирования. При этом разные компиляторы/диалекты языка будут считаться одним языком. Например, компиляторы GNU G++, GNU G++ 11, GNU G++ 14 и MS C++ - это один язык (группа языков) C++. Таким образом, во время раунда вам предстоит не только решить задачи, но и попробовать базово изучить новые языки. Мы не рассчитываем, что вы знаете 12 разных языков. Наверняка, вам придется быстро вникнуть во что-то новое, изучив основной синтаксис других языков за время раунда.

Формально, отсылая решения будет произведена следующая дополнительная проверка:

  • Если по этой задаче есть хотя бы одно непротестированное решение или решение, которое прошло хотя бы один тест, на другом языке, то ваше решение принято не будет. Таким образом, если решение прошло хотя бы один тест, то задачу можно сдавать только на этом же языке.
  • Если по другой задаче есть хотя бы одно непротестированное решение или решение, которое прошло хотя бы один тест, на этом языке, то ваше решение принято не будет. Таким образом, использованный язык нельзя больше использовать для другой задачи.

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

Во время раунда вы можете использовать вкладку "запуск" для тестирования своих решений, если интересующий вас компилятор у вас не установлен локально.

Группа языков Языки программирования / компиляторы Примеры
C GNU C, GNU C11 10903473, 17029870
C++ GNU C+, GNU C++11, GNU C++14, MS C++ 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 6174887, 5743720
Kotlin Kotlin 25779271, 25204556
OCaml OCaml 6157159, 1281252
Pascal Delphi, FPC 1275798, 1259434
Perl Perl 2519448, 1277556
PHP PHP 413942, 4475965
Python Python 2, Python 3 4432133 (Py2), 15729882 (Py3)
Ruby Ruby 1837970, 1289551
Rust Rust 25180002, 24643411
Scala Scala 22577830, 2456025

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

Удачи!

Разбор

Фаза открытых взломов завершена, решения протестированы. Поздравляем победителей!

Официальный раунд:

  1. StarScreamOwl, ednotdead
  2. VernitaGreen, svxf
  3. gars, Provet
  4. Me-and-Myself, ultizet
  5. svetlana_lana, GoldenMan

Открытое зеркало:

  1. Lewin
  2. oversolver
  3. uwi
  4. ifsmirnov
  5. Tinsane
  • Проголосовать: нравится
  • +177
  • Проголосовать: не нравится

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

Esoteric language is coming!

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

    I doubt that it will be another unknown language round. Why would they open 24-hour hacking for such a round?

»
8 лет назад, # |
Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

I cannot register the contest. It requires me in to be in a team. So I create a new team (with only me of course) but still cannot register. Am I not eligible to participate in VK Cup?

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

Is 30 miniutes enough for learning a new language? :/

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

Can a new team participate in this wild card round? Or only the teams that were present in previous rounds are allowed?

  • »
    »
    8 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Everybody can enter the unofficial public mirror round.

    I guess you needed to enter one of the qualification rounds to be able to enter the official round.

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

Can we participate in a team of just one member?

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

Will this be an algorithmic contest (like educational round) or having some weird kind of problems ?

My participation depends entirely on this ...

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

    The main idea of the contest will be solving algorithmic problems.

»
8 лет назад, # |
  Проголосовать: нравится -24 Проголосовать: не нравится

why it can't be normal round with ACM-ICPC rules i think it will be better like this and more interesting

»
8 лет назад, # |
  Проголосовать: нравится -22 Проголосовать: не нравится

i think this contest same as april fool contset for me !!

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

А где подробности?

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

и где информация?)

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

-_-

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

Before contest 00:29:07 Why unknown language of round?

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

Where are the detailed rule?? already only 27 mins remaining!!

»
8 лет назад, # |
Rev. 2   Проголосовать: нравится +40 Проголосовать: не нравится

Вот тут мне и пригодится школьный Паскаль

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

Добавьте компилятор кумира на кф!

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

Now this is going to be a super exciting round to take part in! Thanks KAN for such a round!

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

Exciting

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

I usually doesn't pay much attention to Wildcard Round 1. But this year's gimmick is really interesting. So I'm in.

»
8 лет назад, # |
  Проголосовать: нравится -26 Проголосовать: не нравится

Really not the best idea...

»
8 лет назад, # |
Rev. 2   Проголосовать: нравится +58 Проголосовать: не нравится

So I submit after 6 minutes and my new submission gets AC while previous is still running on 9.

»
8 лет назад, # |
  Проголосовать: нравится -23 Проголосовать: не нравится

"You can not submit, because there are testing, accepted or passed at least one test submissions for some other problem in this contest, and the programming language of these submissions equals to the selected language". What's problem with my submitting?

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

А как будут оцениваться взломы ?

  • »
    »
    8 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

    Взломы не дают вам никаких баллов, однако, ваша позиция может улучшиться, если вы взломаете кого-то выше себя.

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

I know C,C++ and python, So, solved 3 problems. now, it's over for me! :(

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

    I know python but I didn't use it .. Instead I used D and Go (which I don't know :P)

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

      :v that's cool :D such a talent! that's why you are an expert and I'm specialist :P

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

What language did you use? I used Pascal, C++, C#, Java and Python.

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

    exciting round, i used c++ c java python D

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

      I used PHP, Scala, Rust, Pascal, Python and Java. I decided to use C++ at the end for a harder problem, but unfortunately didn't have enough time :(

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

    D , java , C , c++ , python , c# , Go. although i only know 2 languages here.

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

    C++, C, python, haskell, javascript. I'm glad I didn't have enough time to use Java!

  • »
    »
    8 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    C C++ D in one Go ;)

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

    used Go, python, D, C, C++.
    I was saving java for harder problems, but it remained saved and contest ended. :D

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

    C++, C, Python

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

    Java,JavaScript,Pascal,Python,C,C#,C++

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

    I used C, C++, C#, Ruby, Java and Javascript! My A solution was hacked though :'(

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

    For me, it was Kotlin, Java, Pascal, C, Python, C++, and D.

    I just listed the languages I used a bit, then ordered them by my proficiency with them, and used them in that order. So, easier problems got paired with languages which are harder for me.

    A downside of this strategy is that, once you fix a list of K languages, it is hard to solve more than K problems, since the next (harder) problem would be paired with an unlisted (harder) language.

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

What is wrong with this O(N) submission in Golang: 26155229 ? Is fmt.Scan slow?

And why is there a rule if you passed > 1 test with a language, then you can't change language? What if the language can not solve the problem because it is too slow?

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

Главное -- не количество языков, а умение ими пользоваться

»
8 лет назад, # |
Rev. 2   Проголосовать: нравится +11 Проголосовать: не нравится

Чужие решения не открываются, хотя фаза взломов уже идет.

UPD. Уже работает.

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

    Да, при этом можно смотреть свои решения. И взламывать!

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

    Починилось.

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

    Как я понимаю, фаза взломов только для участников. Ибо лично я не могу ломать

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

Подскажите, пожалуйста, что неправильно в задаче D? (JavaScript)

sources

UPDATE: Решено.

  • »
    »
    8 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Неправильно: 1) Постить сюда код полотно кода, а не ссылку 2) Делать это когда раунд еще не закончился (еще сутки идет фаза взломов) 3) Решение не правильное в районе от L до R.

    UPD: Поправлено.

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

      2) Код может читать любой желающий, за взлом баллов не дают.

»
8 лет назад, # |
Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

I am unable to view the solutions of other contestants even though challenge phase has started.

Edit: Solutions are now visible.

»
8 лет назад, # |
Rev. 11   Проголосовать: нравится -18 Проголосовать: не нравится

I want to know if my code solves G, I needed 2-3 more minutes, because I don't know C well...

My solution in C

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

very interesting contest.

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

Interesting Game!!! It seems important to choose "feasible" language to different problems. I tried to solve B with golang but got TLE because of huge input(maybe, I need a more efficient way to read raw data). :)

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

Участники зеркала не могут ломать официальных участников? Печаль :( Я надеюсь, перетестироваться решения и там, и там будут на взломах с обоих контестов.

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

    Взламывать участников из другого контеста нельзя, но наборы тестов будут, конечно, общими.

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

When will the problems be open for practice?

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

"Неизвестный вердикт" по взломам 312834, 312837, 312843, 312848, 312850. Просьба перетестировать эти взломы.

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

Как определяется, кто именно взломал решение, если два участника взламывают его с небольшим разрывом по времени? А то как-то не очень хорошо получается, что взлом 312902 идёт раньше, чем 312905, но засчитывается почему-то только последний. То же самое касается вышеуказанных взломов с "неизвестным вердиктом".

А вообще было бы здорово, если в таком случае засчитывались оба взлома вместе с добавлением их в общий набор. Больше тестов получится.

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

It was a great Experiment !

»
8 лет назад, # |
Rev. 2   Проголосовать: нравится -18 Проголосовать: не нравится

Lewin , 10 languages? :|

I even don't know 10 language name :P

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

Oh!I always thought we were good at c++,but the best language was the first to be hacked.

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

Can someone please describe why Scala gives TLE with O(n*log(n)) solution for D in Unofficial Public Mirror round. I had to change to O(n) to pass. :)

»
8 лет назад, # |
  Проголосовать: нравится -18 Проголосовать: не нравится

MFW submitting B after AC A both in the most proficient language

»
8 лет назад, # |
Rev. 7   Проголосовать: нравится +45 Проголосовать: не нравится

Немного статистики по языкам:

Язык Количество AC в официальной версии Количество AC в неофициальной версии Количество AC суммарно
C++ 167 697 864
C 104 390 494
Python 107 190 297
Java 91 169 260
Pascal 125 76 201
C# 58 55 113
JavaScript 40 30 70
PHP 30 35 65
Go 24 23 47
D 23 24 47
Ruby 22 17 39
Scala 11 16 27
Kotlin 15 11 26
Haskell 8 14 22
Perl 10 11 21
Rust 11 5 16
OCaml 2 5 7
Всего 848 1768 2616

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

even in practice does it expect different languages or can all be submitted in c++ or a single language.

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

    There are no rules in practice. I submitted 2 different problems in the same lang and both are accepted