Please read the new rule regarding the restriction on the use of AI tools. ×

By Harbour.Space, history, 5 years ago, In English

Hello, Codeforces!

We are thrilled to announce the second instalment of our Hello Muscat ICPC Programming Bootcamp, organized by Harbour.Space University in collaboration with Codeforces, ITMO University, GUtech University, and our local partner: Phaze Ventures. The Bootcamp’s main sponsor is British Petroleum (BP), supporting Oman’s national priorities: youth development, economic diversification and job creation.

We are also excited to let you know that Codeforces has become the main collaborator of Harbour.Space for our programming bootcamp series, and will be in charge of all the educational content, from contests to problem analysis and lectures, bringing the online legacy of the platform to a unique offline experience.

Hello Muscat will take place during 19 – 25 March 2020 and will feature ICPC world champions and finalists as well as legendary names from the field of competitive programming:

Mike MikeMirzayanov Mirzayanov, Nikolai KAN Kalinin, Andrey andrewzta Stankevich, Artem VArtem Vasilyev, Mikhail darnley Dvorkin, and more coaches to be announced soon!

The bootcamp will be available to teams of different skill levels, separated by two divisions of difficulty:

  • Division B: Designed to help teams prepare for the next season of ICPC regional competitions.
  • Division C: Designed for newcomers to the world of ICPC competitive programming. This division is the perfect starting point for those with a handle on the basics but who want to compete in future competitions and possible regionals.

Single participants and teams must register before January 30th to receive the 15% off Early Bird Discount.
Universities and individual participants that took part in our previous bootcamps and who register for this edition will receive the 20% off Loyalty Discount.

That’s all from us. Head over to our webpage to find out more, and see you in Muscat!

REGISTER HERE→

Full text and comments »

  • Vote: I like it
  • +36
  • Vote: I do not like it

By adamant, history, 5 years ago, In English

Hi everyone!

This summer I gave another contest in summer Petrozavodsk programming camp and (although a bit lately) I want to share it with codeforces community by adding it to codeforces gym: 2018-2019 Summer Petrozavodsk Camp, Oleksandr Kulkov Contest 2. To make it more fun I scheduled it on Sunday, 5 january, 12:00 (UTC+3). Feel free to participate during scheduled time or, well, whenever you're up to. Good luck and have fun :)

Problems might be discussed here afterwards, I even may write some editorials for particular problems (per request, as I don't have them prepared beforehand this time).

UPD: 17h reminder before the start of the contest

UPD2: It wasn't an easy task to do, but I managed to add ghost participants to the contest! Enjoy!

Full text and comments »

  • Vote: I like it
  • +138
  • Vote: I do not like it

By ko_osaga, 5 years ago, In English

새해 복 많이 받으세요, 코드포스! (Happy new year, Codeforces!)

Welcome to the first Codeforces Round of the new decade, Hello 2020! The round will be held on Jan/04/2020 15:05 MSK.

Some information about the round:

  • Div 1, 2 combined
  • 2.5 hours!
  • 7 problems!
  • No subtasks!
  • Score distribution: 500-1250-1750-2500-2750-4000-4000
  • Yes, it is rated!

This round is prepared by ko_osaga nong ckw1140. I am personally very thrilled to deliver my first Codeforces contest as such a memorable one!

More credits for the contest:

UPD: Editorial. Thank you for your participation!

UPD2: Winners:

  1. mnbvmar
  2. TLE
  3. Benq
  4. tourist
  5. gamegame
  6. never_giveup
  7. dario2994
  8. yosupo
  9. Marcin_smu
  10. kczno1

Full text and comments »

Announcement of Hello 2020
  • Vote: I like it
  • +1231
  • Vote: I do not like it

By MikeMirzayanov, 5 years ago, In English

I am happy to wish you a Happy New Year! I wish you a great, bright, interesting New Year! Just believe that it can become so: difficulties will be left behind, and ahead of you will be a joy of victories and discoveries.

I wish all of us new interesting problems, records and achievements! Set new goals and be sure to try to achieve them! And do not go far, we will try to make your 2020 year more fun!

I thank with all my heart for the contribution to the community of coordinators, problem writers, testers, and those who wrote interesting posts and comments. Many thanks to the sponsors, partners and customers: you help the community not to stand still, give the opportunity to hold interesting events. Thanks to all visitors to the website and just not indifferent.

See you in the new year!

MikeMirzayanov

Full text and comments »

  • Vote: I like it
  • +2750
  • Vote: I do not like it

By MikeMirzayanov, 5 years ago, translation, In English

Hello!

It seems to me that over the past few years I have been writing something right while all normal people are celebrating the New Year. It's my tradition now! Actually, most of the core functionality of Codeforces was written on the New Year holidays of 2010: authorization, blogs, basic support for competitions.

Perhaps I want to spend the next year with interest improving something in the Codeforces infrastructure (yep, how you celebrate the New Year — so you will spend it). Or maybe it's just that it's not necessary to work on New Year's and I'm doing not what you need right now, but what would be nice to do someday.

This time I took a little time to add support for parsing command line parameters in testlib. I really don't like to write such lines of code int n = atoi(argv[3]); in generators. Actually for several reasons:

  • it is unsafe that the 3rd command line parameter may be absent;
  • It is unsafe that the 3rd command line parameter may not be a valid 32-bit integer.

Now, instead, you should write this: int n = opt<int>(3);. In addition, you can write like this int64_t m = opt<int64_t>(1); or bool t = opt<bool>(2); or even string s = opt(4);.

In addition, I supported named parameters. If there are too many parameters, then the entry g 10 20000 a true is less readable than g -n10 -m200000 -t=a -increment.

In this case, now you can use the following code snippets in your generator:

int n = opt<int>("n");
long long n = opt<long long>("m");
string t = opt("t");
bool increment = opt<bool>("increment");

You can freely mix parameter reading by index and by name.

The following options for writing named parameters are supported:

  • --key = value or-key = value;
  • --key value or-key value — if value is not a start of a new parameter (does not start with a hyphen or does not follow the letter after one/two hyphens);
  • --k12345 or-k12345 — if the key k is one letter and then a digit comes;
  • -prop or--prop — to enable boolean properties.

Below are examples of how to run several fictional generators:

g1 -n1
g2 --len=4 --s=oops
g3 -inc -shuffle -n=5
g4 --length 5 --total 21 -ord

Perhaps in a hurry, I can write something not in the best way, or even with bugs. I suggest you look at my last commits. I will be glad to suggestions or fixes.

Thanks for attention.

What traditions do you have for the New Year?

Full text and comments »

  • Vote: I like it
  • +468
  • Vote: I do not like it

By antontrygubO_o, 5 years ago, In English

Hello again, Codeforces!

We are glad to invite you to Mathforces Thinkforces Good Bye 2019, which will take place on Dec/29/2019 17:05 (Moscow time).

Some information about the round:

  • Rated for all participants!
  • 3 hours!
  • No subtasks!
  • There will be an interactive problem in this round. You can read the guide for interactive problems here
  • Editorial will be published right after the system testing

All problems in this round were prepared by us, antontrygubO_o and 244mhq. We worked on this round for a long time and tried to make all the problems very interesting. We hope that you will enjoy the round!

We would like to thank:

The number of the problems and point distribution will be announced shortly before the round (or earlier).

Good luck and have fun!

UPD1: Using opportunity, we would like to advertise the match between tourist and Um_nik, which will start in half an hour after this round ends.

UPD2: The last contest of the decade on Codeforces will feature 9 problems .

Score distribution:

500 — 1000 — 1500 — 2000 — 2750 — 3250 — 3750 — 4000 — 4500

UPD3: Editorial

UPD4:

Congratulations to winners:

  1. Radewoosh
  2. Um_nik
  3. yosupo
  4. FizzyDavid
  5. ksun48
  6. isaf27
  7. Petr
  8. WZYYN
  9. AndreySergunin
  10. saba2000

Full text and comments »

Announcement of Good Bye 2019
  • Vote: I like it
  • +1517
  • Vote: I do not like it

By scott_wu, history, 5 years ago, In English

Hey all!

We've created a new 1v1 programming contest format: Lockout. Like in most contests, each round has a set of problems and contestants work to solve them as quickly as they can. In Lockout, however, contestants compete head-to-head and only the first contestant to solve each problem gets the points. Contestants can work on problems in any order, so speed and strategy are crucial to avoid getting sniped! The head-to-head action also makes the contest much more exciting for viewers.

We ran the first edition of Lockout at TCO Finals last month as a double-elimination bracket tournament. All of the finalists who were available competed (and even some of the problem writers) and we got to see a lot of exciting back-and-forth matches! As you can see though, there's still one set left to play. So we'll be streaming Grand Finals of Lockout 0 featuring tourist vs. Um_nik at 9:30 AM PST, right after the end of Good Bye 2019 on Sunday. Tune in at twitch.tv/ttocs45 to see the finals with live commentary from myself and ecnerwala! We'll watch the screens and scoreboard live, talk to tourist and Um_nik to hear their strategies, and even have a special exhibition match afterwards. :)

The finals will feature five problems with the following scoring: 100 — 200 — 300 — 400 — 500. There are 1500 points total, so the first person to get 800 or more points will be the winner. What strategies would you try? Start with A and B, then jump to E if you get them both? Or start with E, and try to win outright with either C or D afterwards? Read all the problems first and then choose a strategy based on what your opponent solves first? Let us know your thoughts!

Full text and comments »

  • Vote: I like it
  • +1220
  • Vote: I do not like it

By vovuh, history, 5 years ago, translation, In English

Pay attention to the unusual round start time.

UPD: We cannot determine difficulty of some problems thus we recommend you to read all problems and think about each of them.

<almost-copy-pasted-part>

Hello! Codeforces Round 611 (Div. 3) will start at Dec/28/2019 20:05 (Moscow time). You will be offered 6 or 7 problems (or 8) with expected difficulties to compose an interesting competition for participants with ratings up to 1600. However, all of you who wish to take part and have rating 1600 or higher, can register for the round unofficially.

The round will be hosted by rules of educational rounds (extended ACM-ICPC). Thus, during the round, solutions will be judged on preliminary tests, and after the round it will be a 12-hour phase of open hacks. I tried to make strong tests — just like you will be upset if many solutions fail after the contest is over.

You will be given 6 or 7 (or 8) problems and 2 hours to solve them.

Note that the penalty for the wrong submission in this round (and the following Div. 3 rounds) is 10 minutes.

Remember that only the trusted participants of the third division will be included in the official standings table. As it is written by link, this is a compulsory measure for combating unsporting behavior. To qualify as a trusted participants of the third division, you must:

  • take part in at least two rated rounds (and solve at least one problem in each of them),
  • do not have a point of 1900 or higher in the rating.

Regardless of whether you are a trusted participant of the third division or not, if your rating is less than 1600, then the round will be rated for you.

Thanks to MikeMirzayanov for the platform, help with ideas for problems and for coordination of my work. Thanks to my good friends Daria nooinenoojno Stepanova, Mikhail awoo Piklyaev, Maksim Neon Mescheryakov and Ivan BledDest Androsov for help in round preparation and testing the round.

Good luck!

I also would like to say that participants who will submit wrong solutions on purpose and hack them afterwards (example) will not be shown in the hacking leaders table.

</almost-copy-pasted-part>

UPD2: Editorial is available!

Full text and comments »

  • Vote: I like it
  • +152
  • Vote: I do not like it

By cannor147, history, 5 years ago, translation, In English

Hello, Codeforces!

Before the New Year, I, MikeMirzayanov and geranazavr555 want to present you a new update of talks interface. Now you can set bound to the group of people who can send you messages. Namely, you can prevent user from messaging you, hide user’s messages or both.

Also, some users had trouble getting too many unnecessary messages. Now you can choose the minimal rating of people who can send you messages. This rule will not be applied to existing dialogues. And your restrictions will not affect your friends and administrators of Codeforces.

Full text and comments »

  • Vote: I like it
  • +187
  • Vote: I do not like it