SINF 2020 Programming Contest

13 November, 2020

A few months ago I was invited by the SINF - Semana de Informática (Informatics Week) organization team to organize and develop the challenges for their annual Programming Contest.

A bit of context: SINF is an event organized by students for students, that takes place every year at FEUP, the Faculty of Engineering of the University of Porto, which aims to provide tech-related content and first-hand contact with tech companies to college students. The event has been organized by NIAEFEUP in the past 3 editions.

Although I've been a member of the organization team of this event in the past 2 editions, I was quite glad to take on a different role this time. This was my first time ever organizing a Programming Competition and creating new original problems, which was quite an interesting challenge! However, I must add that I got a lot of help from my friend Guilherme Silva, which not only was my beta tester but who also gave me a lot of feedback regarding how to structure and improve the problems. I would also like to thank Professor André Restivo for taking the time to review the problem statements.

The contest was held from the 8th to the 11th of November 2020 and featured a total of 6 original problems, which were released in pairs throughout the 3 days of competition. A total of 66 people from different parts of the country signed in and, in the end, a total of 5 people were able to solve all the problems!

The problems were organized in a sort-of-ascending-difficulty-manner, and their main theme was to help the organization team solve problems that required the help of programming! Each of them was assigned a score based on its difficulty:

  • Scheduling the First Meeting - 100 points (Easy), 88.89% success rate
  • Minimizing Costs - 275 points (Medium), 60.87% success rate
  • So many speakers - 150 points (Easy), 75% success rate
  • Grouping lecture themes - 250 points (Medium), 94.12% success rate
  • Organizing the workshop - 250 points (Medium), 73.33% success rate
  • Time to celebrate - 350 points (Hard), 41.67% success rate

More details about the competition can be found on the contest's Hackerrank page.

Since doing it by hand would be not only a nightmare but also not reusable in the future, I developed a set of scripts to generate all the inputs and outputs. All of this and my proposed solutions for the problems can be found in my GitHub repository.

I must say it was a lot of fun to get out of my comfort zone and accept this challenge and, for once, to be on the creating side of competitive programming. I hope I get the chance to do it again in the future!