Блог пользователя megaspazz

Автор megaspazz, история, 15 месяцев назад, По-английски

I have always been curious about my ranking in the leaderboard as a function of time, since I have always suspected that I am rather slow on easy problems.

To learn Angular, I built a web app that displays your ranking throughout any given contest.

If you are interested, please give it a try: https://megaspazz.github.io/CodeRank/

As of now, it works with normal CF rounds and ICPC-style rounds; it should probably work with IOI-style contests, but they seem to be rare on Codeforces. It doesn't really work for marathon-style contests.

Example screenshot: Example screenshot

Some notes:

  1. Codeforces API sometimes doesn't report hacks for contests, for example API link for Codeforces Round 576 (Div. 1) seems to always report an internal error.
  2. It's hosted serverless on Github pages, so I manually pre-process all of the contests so that the JSON only contains data the app needs and it avoids hitting the Codeforces when people use the app.
  • Проголосовать: нравится
  • +188
  • Проголосовать: не нравится

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

Auto comment: topic has been updated by megaspazz (previous revision, new revision, compare).

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

Wow, great job!

It would be nice if you added an option to choose a contest from the list by its name. Like here

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

Great job!

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

Nice tool, thanks! But I think it doesn't take hacks into account. Or at least my final place in contests where I performed hacks are incorrect in your tool. Anyway, great job!

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

    I actually did implement hacks, but it might be buggy since the hacks come in a different format from the contest standings. Could you link to a specific contest where it didn't work for you?

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

      contest 740, contest 1119

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

        Thank you! I have found and fixed the bug with hacks :)

        You should see your correct rank for those contests now.

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

      In the recent polynomial round, I wanted to know how many ranks higher I would be if not for the hackfest on B. Luckily, your application did just that for me. Every bug is a feature from another perspective

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

I think current performance over time (as per cfpredictor) makes more sense

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

upvoted because master yi profile picture

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

Auto comment: topic has been updated by megaspazz (previous revision, new revision, compare).

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

Very interesting website! But please kindly add recent contests too (1777, 1792, 1782).

Also 1775 is not working with undefined has no properties error in the console.

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

    Sorry for the delay! It currently requires some manual efforts since data for the contests need to be pre-processed manually, since I wanted to avoid hitting the Codeforces API server unnecessarily serving static data. However, I can see that many users may want to see recent contests, so I may add a feature to do missing contests on-the-fly by directly querying the Codeforces API server.

    Also, thanks for finding out about contest 1775. It appears that one got an updated ranklist as the new version I got today was different from the old version I got previously; I believe the ranklist was out-of-sync with the hacks list, and thus some users who submitted hacks couldn't be associated to a user on the ranklist.

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

I manually pre-process all of the contests so that the JSON only contains data the app needs and it avoids hitting the Codeforces when people use the app.

You can add a GitHub Action that periodically checks for new contests and make a commit with the processed data.