Автор isaf27, история, 3 года назад, По-русски

Добрый день!

В 14.11.2021 09:05 (Московское время) состоится Технокубок 2022 - Отборочный Раунд 2 олимпиады для школьников Технокубок 2022. Раунд будет длиться два часа 15 минут, участникам будут предложены 7 задач. По его результатам лучшие участники (но не более 45% от общего числа участников раунда) будут приглашены на финальный этап. Для регистрации на раунд и участия перейдите по ссылке. Не забудьте заранее зарегистрироваться на раунд! Для опоздавших будет открыта дополнительная регистрация.

Зарегистрироваться на Отборочный Раунд 2 →
Соревнование открыто для всех в виде отдельного раунда.
Для всех участников обеих редакций этого соревнования будет пересчитан рейтинг.

Параллельно с Отборочным Раундом будет проведен открытый рейтинговый раунд для обоих дивизионов, в них могут принять участие все желающие.

Напомним, что согласно правилам раундов Codeforces во время соревнования ваши решения будут тестироваться только на претестах (предварительном и неполном наборе тестов), а системное тестирование состоится после окончания раунда. Обратите внимание, что претесты не покрывают все возможные случаи входных данных, поэтому тщательно тестируйте свои программы! После прохождения претестов у вас будет возможность заблокировать решение, тем самым получив привилегию искать ошибки и взламывать чужие решения, но отказавшись от возможности перепослать ваше решение при каких-либо обстоятельствах (например, даже если вы найдете ошибку или вас взломают). Со временем задачи падают в стоимости. После системного тестирования учитываются только полные решения. Подробнее про правила соревнований можно прочитать по ссылкам:

Регистрация на олимпиаду Технокубок еще открыта. Победителей и призеров олимпиады ждут значительные квоты при поступлении в престижные технические вузы России и ценные призы! Если вы — школьник 8-11 классов и пока не зарегистрировались на Технокубок, то самое время сделать это:

Зарегистрироваться на олимпиаду →
После регистрации на олимпиаду не забудьте зарегистрироваться на Отборочный Раунд!

В финал соревнования будут приглашены лучшие участники каждого из отборочных раундов (но не более 45% от общего числа участников раунда).

Удачи!

Разбалловка:

  • Технокубок: 500 — 500 — 1000 — 1500 — 2000 — 2500 — 3250
  • Div1: 500 — 1000 — 1500 — 2000 — 2750 — 3750
  • Div2: 500 — 500 — 1000 — 1500 — 2000 — 2500

Раунд завершился. Поздравляем победителей:

Технокубок

  1. Artyom123
  2. turmax
  3. Kirill22
  4. jiangbowen_
  5. Kapt

Div1

  1. ko_osaga
  2. maroonrk
  3. xay5421
  4. jiangly
  5. uwi

Div2

  1. 1443356159
  2. int65536
  3. strongerthanspeed
  4. DSair
  5. nunu03

Разбор

Для тех, кто впервые на Codeforces: в таблице ниже вы можете найти примеры решений на всех поддерживаемых языках:

Группа языков Языки программирования / компиляторы Примеры
C GNU C11 10903473, 17029870
C++ GNU C++14, GNU C++17, GNU C++20, MS VC++, etc. 23794425, 5456501
C# Mono C#, MS C# 3195513, 3794163
D D 5482410, 2060057
Go Go 7114082, 21366098
Haskell Haskell 455333, 1668418
Java Java 8, Java 11 25491359, 23678167
JavaScript V8 35963909, 35681818
Kotlin Kotlin 1.4, Kotlin 1.5 25779271, 25204556
OCaml OCaml 6157159, 1281252
Pascal Delphi, FPC, PascalABC.NET 1275798, 1259434
Perl Perl 2519448, 1277556
PHP PHP 413942, 35875300
Python Python 2, Python 3, PyPy2, PyPy3 35883730 (Py2), 36179112 (Py3)
Ruby Ruby 1837970, 1289551
Rust Rust 25180002, 35652442
Scala Scala 35847980, 2456025
  • Проголосовать: нравится
  • +173
  • Проголосовать: не нравится

»
3 года назад, # |
  Проголосовать: нравится +42 Проголосовать: не нравится

Note the unusual timings

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

My first contest with green color , I hope I will do well, good luck every one .

»
3 года назад, # |
  Проголосовать: нравится -44 Проголосовать: не нравится

11.35 am I would love to give the round if I woke up by thenಥ_ಥ who keeps round so early in morning that too on Sunday ಥ_ಥ ಥ_ಥ

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

    "who keeps round so early in morning that too on Sunday"

    A lot of people around the world usually have to wake up wayyyy earlier than 11:35am for a contest. It is what it is.

»
3 года назад, # |
  Проголосовать: нравится -89 Проголосовать: не нравится

We have to postpone contest a bit. No way I can wake up that early

»
3 года назад, # |
  Проголосовать: нравится -20 Проголосовать: не нравится

Which approach is better for practicing problems in problemset: topic-wise or difficulty-wise?

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

    Difficuty wise , because when you are filtering questions according to a topic then you would already have an idea before even looking at the problem that this question can be solved using this perticular logic and this is not good, why i am saying that because when you are giving a contest you are unaware of the approach which is being used thats why it is better to sort according to difficlty then solve.

»
3 года назад, # |
  Проголосовать: нравится +32 Проголосовать: не нравится

Sleep vs contest. Ape choose sleep.

»
3 года назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

It overlaps with Grand Prix of EDG :'(

»
3 года назад, # |
  Проголосовать: нравится +10 Проголосовать: не нравится

The contest is right after Google kick start, look forward to it. (Finally a good time for NA competitors

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

    Wish I had read your comment sooner. I didn't realize the time was in 24 hr format :_(

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

google kick start (or) codeforces div2

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

Dare to join this contest just after Google Kickstart Round-H;)

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

Google kick stat round H plus codeforces round 755 makes me 5 hours of marathon coding competition.

UPD: It's the third time I become candidate master.

»
3 года назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

Overlaps with AHC006. If you fully participate CFR755, only 2h40m will remained for AHC006.

»
3 года назад, # |
  Проголосовать: нравится +30 Проголосовать: не нравится

Scoring distribution still not announced.

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

very few registrations this time.

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

Автокомментарий: текст был обновлен пользователем isaf27 (предыдущая версия, новая версия, сравнить).

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

How can someone hack a problem even after I locked it ?

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

    After locking, you cannot submit again and can hack other participant's solutions. If not locked, you can submit again but cannot hack other participant's solutions.

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

    Thanks to this comment I hacked 7 people.

»
3 года назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

Sorry for asking this, but I accidentally submitted a WA after an AC. So the AC solution done before will be counted for results right? Or is last submission for that problem considered regardless?

»
3 года назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

What is the hack for C?

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

    1

    1

    1

    0

    I used this

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

    Multiple solutions passed which weren't intended. So basically it wasn't just one particular hack or idea, but it was just weak pretests.

  • »
    »
    3 года назад, # ^ |
    Rev. 3   Проголосовать: нравится -70 Проголосовать: не нравится

    input:

    1
    1
    1
    0
    

    This will hack the code that only judges the case of no solution is $$$b_i-a_i>1$$$.

    But sadly I found this after I locked my solution :(

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

    I noticed two.

    1. Not considering index '0'.
    2. Taking absolute difference of a[i] and b[i].
»
3 года назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

Div1B/2D is a really nice problem, bricked for a really long time trying to figure out how to solve the problem in just 1 pass of binary search, but the observation needed to solve it is cool af.

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

    How do you solve it in one pass?

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

      Difference between $$$query(1, k) - query(1, k-1)$$$ is equal to the $$$k-j+1$$$.

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

        Thanks :) Couldn't figure out during contest but the idea is actually very beautiful nonetheless.

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

      Binary search on ranges of the form $$$[1, x]$$$ to find $$$k$$$ (smallest index with same number of inversions as range [1, n]).

      Now lets realize that since all elements in $$$[i, j - 1]$$$ are smaller than those in $$$[j, k]$$$, the number of inversions is exactly $$$\frac{y \cdot (y - 1)}{2} + \frac{z \cdot (z - 1)}{2}$$$ where $$$y = (j - i)$$$ and $$$z = k - j + 1$$$.

      Now if we query the range $$$[1, k - 1]$$$, the number of inversions is $$$\frac{y \cdot (y - 1)}{2} + \frac{(z - 1) \cdot (z - 2)}{2}$$$, or exactly $$$z - 1$$$ less than the previous value.

      So we now have $$$z$$$ and can get $$$j$$$ from it.

      We also have the total, so we can just binary search to find $$$y$$$ that satisfies $$$\frac{y \cdot (y - 1)}{2} = total - \frac{z \cdot (z - 1)}{2}$$$. So we can also get $$$i$$$.

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

        Also the part of binary searching y can be eliminated using the main observation by querying [1, j-1] and [1, j-2] and subtracting the second from the first to know length of [i, j-1].

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

        If you binary search two times then won't the total number of queries be $$$2 \log_2(N) \approx 60$$$ ?

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

          The second binary search in his comment is to solve an equation not to query.

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

          The second binary search is finding the largest $$$y$$$ such that $$$y \cdot (y - 1) \leq total - \frac{z \cdot (z - 1)}{2}$$$. Just a local calculation, no queries or anything.

          You can just do $$$\sqrt{total - \frac{z \cdot (z - 1)}$$$ and check close by values if you aren't paranoid that will somehow make you FST lol.

»
3 года назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

Fragile pretests on C lol. Hacked 8 submissions

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

The pretests in C were reasonably weak. I hacked my way from ~1000 rank to ~350 (And so did a lot of other people).

»
3 года назад, # |
  Проголосовать: нравится +7 Проголосовать: не нравится

hackfor C es!

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

Is div-2 D some sort of ternary search?

»
3 года назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится

ko_osaga did it again!

Where is E from?

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

    Hi, it's NEERC 2015 Northern Subregional K. It is not very equivalent, but the main observation for that problem can be applied directly. Shoutout to ainta for recommending me this problem.

    main observation for that problem
  • »
    »
    3 года назад, # ^ |
    Rev. 2   Проголосовать: нравится +3 Проголосовать: не нравится

    Also, at least one problem in CF and a recent WF problem related to "distance to line", the only difference is to handle case when distance to segment is to one of two ends, it is easy by sweeping and two pointers.

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

Hi,

Even though I probably didn't have the right algorithm on the E, the statement was a bit ambiguous on the issue of size 1 segments and other details (e.g. can we increase the ends without increasing the only values adjacent in the subsegment). I rather liked this exercise even if my performance on this competition does not exemplify me :)

»
3 года назад, # |
  Проголосовать: нравится +62 Проголосовать: не нравится

Problem C and D are easy to come up with . But really hard to implement and debug ...

  • »
    »
    3 года назад, # ^ |
    Rev. 4   Проголосовать: нравится +38 Проголосовать: не нравится

    Agreed, on problem C it took me:

    • 5 mins to get rough idea
    • 10-15 mins to work out all technical details
    • 40-45 mins to implement and debug till it passed samples
    • 10 mins to write brute and stress test when I got WA2.

    The basic idea of parity sums and prefix not becoming negative is fairly standard. I'm pretty sure there was Div2 problem a while ago that required exactly those two observations.

    Edit: Apparently Div1C is extremely easy to code if you use k-th order statistics. See this submission — 135379742.

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

    Could you please share any hints about problem div1 C, thank you very much.

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

      Hint: you can perform the operations from left to right , and find out when the array is possible to clear . Use some data structure to maintain it !

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

I'm interested in what happened to antontrygubO_o

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

Today I did my first hack on Codeforces. Felt a little too good to be evil, lol.

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

    Can you please explain the logic behind solution of problem B??

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

      First thing to figure out is that when you make rectangles of dimension 3*1 you need minimum possible colourings. So, we divide the base rectangle into as any 3*1 rectangles possible and we will be left with (n%3)*(m%3) sized rectangle, now, the possible rectangles will be 2*2, 2*1 and 1*1 . First 2 cases will have half tiles coloured and the last case is prohibited so what we do here is we spare 4 tiles in one line and divide the rest all in rectangles of size 3. The remaining 4 will have 2 tiles coloured.

      If I was difficult to understand. Here is my solution- 135359905

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

Cries to death

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

Ready to get FSTd Solution to C cannot be so simple

»
3 года назад, # |
  Проголосовать: нравится +116 Проголосовать: не нравится

I didn't manage to remove cheaters in previous rounds yet. I will do it soon, but as a result, it is likely outcome that someone will change their division of participation in round 755. Regardless of the new division (after removing the cheaters), your participation will be rated in the exact division that you actually participated in round 755. That is, even if after removing the cheaters you change the division, then round 755 will remain rated for you.

»
3 года назад, # |
  Проголосовать: нравится +19 Проголосовать: не нравится

I am not upset that pretests of C were weak ,I am upset that I didn't attempt to hack

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

    I have the same feeling, I found the hack very soon but I was so scared to try because it was my first time trying to hack, by the time by I gathered the courage 3 hackable solutions were hacked in my room so I had only 1 solution to hack.

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

      Yeah I also would have felt little nervous as I never hacked before ( It always feels nervy in an unknown territory )

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

I wonder if Div2.C(Div1.A)'spretest is SO WEAK Because I add abs() and go through pretest as well

»
3 года назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится

am disappointed because weak test cases in problem C

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

Hello All, just needed your attention here. I submitted C once and it showed me an accepted verdict again after a few minutes I again submitted with a slight different approach and it showed a passed verdict.Just when the contest got over I saw a skipped Verdict and queued verdict. May I know why it is happening so.

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

Is fact what solve with complexity O(n**2) getting AC in Div1C OK? 135376136

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

weakpretest :(

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

I never wanted be hacked more than now

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

div2C WA on 73 test. I hate my life

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

Did anyone else feel this round was easier or it was me who did 3 problems on my own without wa for the first time?

»
3 года назад, # |
Rev. 3   Проголосовать: нравится -83 Проголосовать: не нравится
some downvoted words
  • »
    »
    3 года назад, # ^ |
      Проголосовать: нравится +27 Проголосовать: не нравится

    A is difficult only if you failed your algebra class in school

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

      My point is not on A.I decided to solve it after D.

      now found it the worst decision ever.

      More,only 5000/9000 participants submitted A.It's not a good thing for cf.

»
3 года назад, # |
Rev. 3   Проголосовать: нравится +9 Проголосовать: не нравится

A. Math, Was quite tough to me
B. It could just as well be A
C. It can be solved with one-liner, why is it C and why there are so many hacks and fst?
D. Nice problem, enjoyed solving it

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

    A. I still enjoy solving problems related to algebra, interesting for me.

    B. Problem was meh, div 3 type.

    C. Really bad C. This problem is meant for div 3A. How did this even...

    D. This problem looks interesting

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

For problem B, I realized we need to take as much as 1*3 as possible so my solution was based on that. I see some solutions like cout << (n*m+2)/3 << '\n'; how the solution got reduced to that !?

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

    Hi ! In fact the answer is ceil(n*m/3), and with few attempts, you can realise that this is equal to floor(n*m + 2/3).

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

    In total we have $$$n * m$$$ little squares. You mentioned right, that we need to take as much $$$1 * 3$$$ rectangle pieces as we can. Now $$$(n * m + 2) / 3$$$ is a way to find how much $$$1 * 3$$$ pieces we will have plus check if there is something left, so basically it is [ $$$(n * m) / 3$$$ + remainder ], where remainder is one if $$$n * m$$$ is not divisible by 3. That means that we are left with $$$1*2$$$ or $$$1*1$$$ rectangle and in both cases we will need to paint exactly $$$1$$$ more sell with blue

»
3 года назад, # |
Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

Thank this contest let me become a candidate master.

I think problems are good.

But the pretest of C was terrible and there were so many hacks.

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

So weak pretests on problem C!

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

I think D1D is just this problem with much harder implementation.

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

So weak pretests on problem C !!!

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

Huge difference between no of accepted solution div2 C and D. There should have another problem in middle difficulty.

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

Here are the video Solutions to the first 4 problems of Div-2 in Case you are interested.

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

Finally turned green..WohooooOOo

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

Why such a huge gap in the difficulties of (ABC) and D in div2..A newbie could also solve upto C and D was very tough for a specialist(maybe for an expert too)

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

    D was pretty much as always
    The gap is because C was easier than it should have been. In general C is intended for cyans

»
3 года назад, # |
  Проголосовать: нравится +18 Проголосовать: не нравится

how come no editorials?

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

This has to be the most unbalanced div 2 round till date

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

Weak pretests for problem C :(

»
3 года назад, # |
  Проголосовать: нравится +11 Проголосовать: не нравится

waiting for editorial.

»
3 года назад, # |
Rev. 2   Проголосовать: нравится -15 Проголосовать: не нравится

trash round bad pretests C + no balance

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

My solution

Can anyone please tell me why this is wrong ?

It passed the pretest but now it is showing WA

I cannot even understand the test case it failed

1
1
2
1

like why it is failing why its o/p is NO it should be YES isn't? Am i missing anything or my understanding of the problem is flawed?

»
3 года назад, # |
  Проголосовать: нравится -10 Проголосовать: не нравится

Could anyone tell me what's wrong with my C code? I can not find out and I am wondering whether it is necessary to sort. 135383484

»
3 года назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

Since editorial is late and for some reason no one is discussing solutions, could someone tell me what is the idea on how to optimize D2E(D1C) from O(n^2)?

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

I’ve always thought that rounds based on technocup are difficult and need a good knowledge of advanced algorithms, but i think this contest is a bit different , problems A,B,C are the same as a div3

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

anyone can tell me intuition behind B problem: ans=((n*m+2))/3; why is it working?

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

as a Python user, this contest was pretty disappointing. The tutorial Div1D and E solutions have essentially no hope of running in the given time limits in Python because of the absurdly large constraint allotments.

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

Pretty good contest, I like this type of style, only on suggestion, the gap between some problems might be a little too big.

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

hello every body my picture is beauty full