Coding Contest: Summer Challenge 2023

And… where is old, good, bot contest? :face_with_raised_eyebrow:

There are no outside editor option or even a build-in vim, which makes it even more unattractive for me. :frowning_face:

I wonder if I am alone in my feelings.

2 Likes

Are there hidden test cases in the Summer Challenge 2023? Could they require faster code than the cases displayed?

1 Like

I also prefer a simple bot contest than puzzles
Also there’s a bug , solving problem 3 with Java is impossible because all the “=” signs become unicode and it refuses the correct answer… Solving with JavaScript doesn’t have this error/bug…

Looks to me like, the old bot challenges curated by tens of volunteers has been replaced with a small thing, not fully explained or tested, also not available to all languages

I suppose I came here just to complain about the lack of Rust as a language option. Looking at languages used by entrants in the Spring Challenge it’s the most glaring omission here (170 entries), with many less popular languages (Scala 33 entries, Swift 15) included and the next most popular not included being Dart (25), a distant second.

As a fallback I decided to use C++ with the C++20 Ranges jazz to get back most of the power of Rust chain-able iterators which tend to be invaluable for writing satisfying solutions to these types of problems, but we’re stuck at C++17…

I know we can’t have everything and the puzzles look fun but I thought I’d moan since it’s the deal-breaker in my case. (The reverse puzzle allows a greater range of languages, and of course there’s the two SQL ones I’ll have at too so it’s not all bad. The variety is a nice touch. Edit: Between Q6 and Q9 I was plenty occupied in the end :slight_smile: ).

5 Likes

I’ll second the complaint about lack of Rust.

4 Likes

Hello ! How do I see my current score? Is there a way to see if one exercice is not at 1000pts for the moment?

It is sad we do not see the current leaderboard and the current scores, it could have been fun.

N10 doesn’t add up to 314 as example by sum those numbers? is this on purpose?

Yes, the Vim keys are truly lacking. It is such a pain to code without them when you are used to them

There is a huge error in the part of code that where are not told to “Ignore and do not change” in PHP

If i do not change adding “JSON_UNESCAPED_SLASHES”, puzzle 3 is unsolvable

function trySolution($mergedFile) {
    echo("" . json_encode($mergedFile,JSON_UNESCAPED_SLASHES) . "\n");
}

I tried ^puzzle 10 in C.
I got some errors in the part of code that where are not told to “Ignore and do not change”

Line 145 : redefinition of counter
Line 146 : redefinition of key and value

It works: 314 = (mutant0: 80 + 76) + (mutant1: 64) + (mutant2: 64) + (friendship12: 30)

Still in puzzle 10, in C, By renaming the second declaration of counter, key and value, I achieved to pass the first test, but, for the second, I got the following error. Just to be clear : I do not use any malloc of free, this error is in the “Ignore and do not change” part.

Aborted.

at pthread_kill.c. function __pthread_kill_internal (signo=6, threadid=) on line 78

at raise.c. function __GI_raise (sig=sig@entry=6) on line 26

at abort.c. function __GI_abort () on line 79

at libc_fatal.c. function __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7f5d459 “%s\n”) on line 155

at malloc.c. function malloc_printerr (str=str@entry=0x7ffff7f60138 “double free or corruption (out)”) on line 5660

at malloc.c. function _int_free (av=0x7ffff7f96c60 <main_arena>, p=0x55555555c8f0, have_lock=, have_lock@entry=0) on line 4584

at malloc.c. function __GI___libc_free (mem=) on line 3385

at Answer.c. function main () on line 301

BFD: /lib64/ld-linux-x86-64.so.2: unknown type [0x13] section .relr.dyn' BFD: /lib/x86_64-linux-gnu/libc.so.6: unknown type [0x13] section .relr.dyn’ double free or corruption (out)

Yeah, looks like the default code doesn’t account for padding when allocating. Changing the malloc should work:

doubleEntryList map = {json_object_object_length(parsed_json1), malloc((sizeof(double) + sizeof(int)) * map.length)};

To

doubleEntryList map = {json_object_object_length(parsed_json1), malloc((sizeof(doubleEntry)) * map.length)};

Same is needed for map2.

I wondered the same thing. One of my answers was nightmarishly inefficient. I would never put that in production code. But it solved every test case without timing out. So I moved to the next question vowing to return if there was time. (HAHA, I thought I would have time left over! I was so delusional!)

Java ‘=’ becomes literally: “\u003d” – I was SO frustrated and wasted so much time. Maybe they will fix the bug and recalculate my score.

Wow, 2 very intense days for me^^
Thank you for organizing this super creative contest.
Especially the sql and blackbox challenge fascinated me

2 Likes

Been there, tried a few things, lost momentum due to IRL constraints and lack of interesting (to me) languages…

First time joining a challenge here. Really love the format and difficulty level. Almost never got all the test cases to pass but well… :slight_smile:
The blackbox puzzle was my favorite! I understood what was happening and what the goal was quite fast… But it was hard to come up with a movement strategy.

HI CG,

in the detailed leaderboard everyone can see answers from everybody, first time I see that w/o optin or score based restrictions
is this the expected behavior ?

I think it’s because unlike the AI challenges with the leagues, this uses the coderpad recruitment tool. It was the same for the last winter challenge which was a speed contest on one evening.
On my side, I only tried for one evening so i submitted after 5h and got 56%. Maybe I should have tried again on Wednesday evening to complete a few more exercises (the 2nd SQL looked fun but i couldn’t get anything but timeouts, didn’t find any way to get even a single result …)