Order Capital Round 1 (Codeforces Round 1038, Div. 1 + Div. 2)
목차

A에서 시간을 너무 많이 쓴 것 같아 아쉽지만, 민트를 달았으니 일단은 만족한다. 처음부터 pypy3-64를 사용하고 sys로 입력값을 받아왔으면 좋았을 텐데.. 파이썬 적응기라고 생각해야겠다. 난이도가 D에서 갑자기 훅 뛰어버려서 1시간 동안 도전했으나 결국 D를 못 풀고 마무리했다.
A — 00:17 AC#
또는 이 1일 때는 경로가 1개이기 때문에 무조건 최대라는 걸 알 수 있다. , 일 때는 선택지가 2가지밖에 없으니 그리디하게 가는 게 최대이다. 나머지 경우는 경우의 수가 2보다 커지므로 그리디하게 풀면 최대가 아닌 경우가 항상 존재한다.
B — 00:26 WA#
단순히 바꿔줘야 하는 0과 1의 개수만큼이 항상 최소가 될 수 있다고 생각해 찍어보았는데 역시나 틀렸다. 다행인 건 테케1에서 걸러져서 페널티는 안 먹었다는 점.. 기묘하다. 더 이상 모르겠어서 놓친 게 있다고 생각하고 일단 C로 넘어갔다.
C — 00:41 AC → Skipped(System testing)#
https://nypc.github.io/2024/round2b_3
작년 NYPC에 출전했던 사람이라면 보자마자 떠올릴 수 있다. 문제가 그냥 똑같다..
근데 살짝 찜찜했던 게, pypy3로 제출했는데도 시간이 아슬아슬했다. 바로 전 대회인 Codeforces Round 1037 (Div. 3)에서 어이없게 B에서 TLE를 받았던 기억이 떠올랐기에 더욱 그랬다.
B — 00:57 TLE#
빼야 하는 것과 넣어야 하는 것이 개수가 같기 때문에 결국 각 더미마다 빼야 하는 최소 횟수를 다 더하는 게 답이다. 근데 TLE를 받았고, 풀이가 절대 틀릴 리가 없다고 생각해 입출력 이슈로 판단했다.
B — 00:59 AC#
pypy3에서 pypy3-64로 언어를 바꾸고 입력을 input()에서 sys를 적용했더니 바로 맞았다. JavaScript는 입출력을 사실상 fs를 이용한 방법만 써서 간과하고 있었다..
C — 01:01 AC#
B가 입출력 문제로 한 번 터지고 나니 정말 C가 불안해져서, 똑같이 pypy3-64로 언어를 바꾸고 입력에 sys를 적용해줬다. 이전 코드가 잘 통과했을지는 모르겠지만, 적어도 시스텟에서 C가 터지지는 않았으니 다행이다. 여담으로 같은 문제에 AC받는 코드를 두 번 제출하면 이전 코드는 Skipped 판정을 받는다는 걸 처음 알았다.
댓글