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

Автор IceKnight1093, 2 дня назад, По-английски

We invite you to participate in CodeChef’s Starters 152, this Wednesday, 18th September, rated upto 6 stars (i.e. for users with rating < 2500).

Time: 8:00 PM — 10:00 PM IST

Joining us on the problem setting panel are:

Written editorials will be available for all on discuss.codechef.com. Pro users can find the editorials directly on the problem pages after the contest. The video editorials of the problems will be available only to Pro users.

Also, if you have some original and engaging problem ideas, and you’re interested in them being used in CodeChef's contests, you can share them here.

Hope to see you participating. Good luck!


Congratulations to the top 5 in Div1!

  1. liympanda

  2. DylanSmith

  3. Dragokj03

  4. GOTKAKO

  5. EnofTaiPeople

  • Проголосовать: нравится
  • +55
  • Проголосовать: не нравится

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

Contest starts in 15 mins

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

last 15 min problem Completion (Easy) solve very fast...how to solve it?

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

    The first necessary observation, which is that for each block (adjacent even odd index in array), [0,1],[2,3],[4,5], etc. The way to get the maximum sum is always pair a number in range [1,2*N] with a number in range[N + 1, 2*N].

    There is a useful observation, split the numbers from 1 to 2 * N, and label from 1 to N as lower and N + 1 to 2 * N as upper. It is guaranteed that the lower and upper will be those for each block of size 2. And then you can use combinatorics and counting. You count how many lower and upper numbers you have to assign, and do lower * (lower — 1) * (lower — 2) *... *1 and upper! as well. There are some blocks that are just 0 though, [0,0], for those you can use a lower and upper but also you can do [U,L] or [L,U], so just count these [0,0] blocks and do 2^(zero_blocks). So you can get this in the end lower! * upper! * 2^zero_blocks. Where I described how to get lower, upper, and zero_blocks clearly I hope.

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

ConstructiveChef! The contest was fun..