Post

Codeforces Round 877 Div. 2

6월 4일에 진행한 코드포스 877번 대회 일지입니다.
결론부터 말하면, 떨어졌습니다. 퍼플 복구에 실패했습니다. 이날 폼이 좀 마음이 아팠습니다…

시작~0:06

  • A번 문제를 풀었습니다.

    대회 당시 풀이

  • 음수가 없다면 가장 큰 수가 처음에 있었음이 자명합니다.
  • 아니면 제일 작은 수가 있었음이 자명합니다.

    A: 아이디어 내는데 4분, 검증에 1분, 구현에 1분을 사용했습니다.

0:06~0:30

  • B번을 잡았습니다. 제가 지금까지 잡은 B번 중 가장 그지같고 어렵지 않았나 싶습니다.
  • 언제나 그랬듯이, 지극히 코포스러운 그리디 애드혹 답안을 이리저리 던져보았습니다. 예제 선에서 다 틀렸습니다.
  • 그리고는 멘탈이 터져서 문제를 옮겼습니다.

    0:30~0:45

  • C번을 잡았습니다. B를 잡다 C를 잡으니까, 그렇게 쉬운 문제가 없습니다.

    C: 아이디어 내는데 2분, 구현에 8분, 디버그에 5분을 사용했습니다.

  • 그렇게 C를 B보다 먼저 풀게 되었습니다. 멘탈은 아직 나가 있었습니다.

    0:45~1:08

  • B를 다시 잡았습니다.
  • 어쩌다가 생각을 냈는지는 아직도 잘 모르겠습니다. 신이 아이디어를 던져주고 가셨습니다.

    B: 아이디어 내는데 24+15분(틀린 구현 10분 포함), 구현에 6분, 디버그에 2분을 사용했습니다.

  • 멘탈이 나가있긴 했지만, 그래도 희망이 보였습니다.

    1:08~1:30

  • D를 잡았습니다.
  • 대략 20분 동안 아이디어를 잡고 구체화했습니다.
  • 아이디어가 완성된 상태는 아니었지만 잘 하면 맞을 수 있을 것 같았고, 그래서 코드를 짰습니다. 좀 더 희망이 보였습니다.

    1:30~2:00

  • D를 구현했습니다.
  • 구현에는 15분 정도 쓴 것 같습니다. 테케를 맞아서, 1:43에 최초 제출했습니다. WA on Pretest 4를 받았습니다.
  • 디버그에도 15분을 사용했습니다. 그리고 결국 맞지 못했습니다. ㅠㅠㅠㅠㅠㅠㅠ

    Upsolving

  • 다음날에 일어나서 D를 업솔빙했습니다. 업솔빙하는 데 약 30분을 추가로 소모했습니다.
  • 코드에서 크게 두 가지 오류를 찾았습니다. 하나는 문자열 파싱 과정의 오류, 다른 하나는 vector를 사용할 때의 반례 존재였습니다. 정해는 set을 사용했고, 저는 set에 begin 혹은 rbegin이 없는 줄 알았습니다.
  • eltu815님의 코드로 도움을 받아서 풀이했습니다.

    후기

    마음이 아픕니다.

B가 그렇게 어려운 셋은 처음 봤습니다. B/C를 좀 더 빠르게 풀고 더 안정된 상태로 D를 보았으면 어떻게 되었을까 싶긴 합니다. 그래도 똑떨했겠죠뭐

This post is licensed under CC BY 4.0 by the author.