Если вы используете C++, пожалуйста, выберите в качестве компилятора при отправке решения: C++14 (GCC 6-32) или C++17 (GCC 7-32). ×

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

Автор MikeMirzayanov, 5 лет назад, По-русски

Привет, Codeforces!

Вот несколько последних улучшений здесь и в Polygon.

Слабые и утекшие пароли

Мы часто слышим об утечках паролей от различных сервисов. Учитывая, что иметь одинаковые пароли распространённая (но небезопасная) практика, на Codeforces и в Полигоне были внедрены улучшения для определения слабых или утекших паролей. Если сверху сайта вы видите плашку, что ваш пароль небезопасен, то просто тут же смените его.

Указание типа раунда при создании предложения о контесте

Этот пункт немного лучше упорядочивает работу с авторами. При создании предложения контеста, пожалуйста, указывайте тип контеста. Оставьте поле пустым только, если вы совсем не уверены в типе раунда (что странно).

Календарь

Исправлены ошибки при синхронизации официальных контестов Codeforces в календаре. Теперь всё должно быть чётко.

Я доверяю этому пользователю

В настоящее время Codeforces предоставляет развитую инфраструктуру для организации контестов, кружков и тренировок. С помощью доменных групп и мэшапов абсолютно штатными средствами проводятся соревнования разного уровня и официальности. Дошло до того, что организаторы иногда не являются регулярными участниками раундов Codeforces и не имеют прав на некоторые из действий. Теперь любой красный участник может подтвердить своё доверие другому аккаунту, и тот получит права на: написание комментариев/постов, создание приватных групп, создание мэшапов. Я надеюсь это избавит меня от определенной рутины обработки подобных запросов.

Подтверждение через email при входе в Polygon

В случае, если ваш текущий IP-адрес и браузер давно не использовались для входа в Polygon, то вам может быть предложено войти с подтверждением email. В таком случае, просто перейдите по секретной ссылке, которая придёт вам на почту.

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

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

If on the top of the website you see a message that your password is not secure, then just change it immediately.

So... passwords are stored in plaintext?

That doesn't sound good.

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

    Surely not. We check it on sign in (when you use a password). Also we use much less strict verification for salted hash trying to match with most popular passwords and passwords generated from a handle.

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

1 and 4 are a bad combo

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

У меня при каждом заходе в полигон говорит зайди на e-mail и перейди по ссылке. Хотя браузер один и тот-же и ип не меняется.

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

    Вчера это еще не было реализовано. Попробуйте сегодня зайти повторно. Если не работает, то напишите мне в личку здесь.

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

Без коментариев

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

@Calendar: Some things are still bugged. Even now, the next joined round is duplicated and I cannot edit/remove any events (I wanted to fix this).

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

Can we get confirmation emails when signing into Codeforces (from a new location/browser) as well?

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

    Yes, I have plans to implement it. It will be an optional feature, you will be able to disable it in the profile settings.

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

    An option to lock the email address would be nice. This means you will require email confirmation to change the address (and you would get an email if someone is attempting to do it!). That way, even if somebody manages to guess/hack/change your CF password, they can't take over your account permanently because you can use password reset with your email.

    I think many people have an important email address with a strong password that they protect carefully. It's nice when you can make use of that one safe account to protect other accounts, without having long unique passwords and two-factor authentication everywhere.

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

      We can change our password without email confirmation? What you said is what we need indeed!

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

        Yes, and you can also change the email address without confirmation, which I think is even worse and the point of my comment.

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

Will updating properties of published proposal lead to move this proposal to the back of the queue?

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

MikeMirzayanov I hope you take a look at the suggestions written in this blog and the comments section: https://codeforces.com/blog/entry/65855

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

А где сама ссылка?

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

    У меня всё работает. Более того, у вас правда в этой всплывашке почему-то нет HTML-разметки. Какой браузер/OS? Может какой-то плагин блокирует?

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

      Какой браузер/OS?

      Firefox 66, GNU/Linux.

      По всей видимости, он просто не поддерживает HTML во всплывающих подсказках.

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

      Кстати, заметил, что если щелкнуть по вопросику мышкой, то ссылка есть (появляется отдельное окно с подсказкой).

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

MikeMirzayanov, changed my password and I am still logged in on my phone. I don't think that's intentional.

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

Is polygon opensource project?

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

А когда двухфакторная аутентификация появится и появится ли вообще?

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

Fixed some errors in calendar, but VK Cup is still there, hmmm

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

Do you like my handle guys?

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

Hi Mike, thank you for developing such a brilliant platform. Sorry but there might be a little trouble for me that I still do not know how to render my validator and generators for a specified input file. I set input file as some.in in General info and manage to use both generators and validator. But if I put a freopen("some.in","w",stdout) in generator with script gen > 1, in preview tests section it prompts ERROR: Unexpected verdict Validator 'val1.exe' returns exit code 3 [FAIL Unexpected end of file - token expected (stdin, line 1)]CRASHED.. But if a use script gen > {1} instead, the validation is will prompt ERROR: Unexpected verdict Can't prepare input file (it occurs also when I delete freopen in generator). If I delete freopen in generator and use script gen > 1, the validation period works well but Answer section will prompt ERROR: Unexpected verdict IDLENESS_LIMIT_EXCEEDED which shown that it is wrong to set freopen("some.in","r",stdin) in solution file (but this exists for my specification in input file). Can there be another way to make them work well? Thank you.

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

    Hi, generators and validators (and checkers) do not depend on the filename. Write them as usual, using standard input/output. Note that to use gen > {1} syntax, the generator gen should create the file 1. There are probably testlib functions for that, but you'd better not use this syntax at all, it will be very inconvenient to move tests around.

    In solutions you should use the filename you specified in the general info tab. Probably you have some other issue that causes IL.

    So you should:

    • set input file in general info tab,
    • use stdout in generator,
    • use gen > 1 syntax,
    • use freopen in the solution.
»
5 лет назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

"Confirmation via email when entering Polygon"

We need to login into the account programmatically to "Discard working copy". Otherwise the APIs would always return the old copy.

  1. Can we have an API to discard working copy? (preferred)
  2. Otherwise, can we whitelist an IP address to login to polygon?
  • »
    »
    5 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +18 Проголосовать: не нравится

    or 3. Add an option to entirely disable the confirmation (edit: the option has been added few days after comment)

    Email confirmation can be pretty inconvenient for people with dynamic IP (it seems like you need to verify by mail twice for each IP before it stops asking), and some things are completely broken now (e.g. problem import in ejudge). One may argue that people are just using polygon wrong if the feature is a problem for them but breaking people's workflow without a warning isn't a nice thing to do regardless.

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

Так всё-таки, как теперь пользоваться ejudge? Мне теперь будет проще забить на polygon и готовить задачи без него.

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

    Скачать full package, скопировать его по sftp на машину с еджаджем, переименовать папки с задачами в A, B, C, ... и скомпилировать чекеры (с -DEJUDGE)

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

    В settings можно поставить Skip email confirmation on unusual login.

    Еще можно один раз залогиниться из консоли сервера с ejudge вот этим скриптом (поправив версию ejudge), после этого import будет работать некоторое время:

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

Please allow me to speak here. I found that I can't delete the list that was shared with me. I want to know how to delete it. Can someone tell me? QAQ

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

please allow the users who have followed us so that we can see our followers .

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

Finally some relief from spam blogs...

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

Surely not. We check it on sign in (when you use a password). Also we use much less strict verification for salted hash trying to match with most popular passwords and passwords generated from a handle.

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

hi, i'm Xod3. can anyone help me to solve this problem 112. i can't find the error in this code. everytime worng answer test 5 show in status.

include

using namespace std; int main() { long long int a,b,s; cin>>a>>b; s=pow(a,b)-pow(b,a); cout<<s; }