본문 바로가기

Competitive Programming/Codeforces

Codeforces Round #698 (Div. 2)

 

Dashboard - Codeforces Round #698 (Div. 2) - Codeforces

 

codeforces.com

 

실제론 1점 떨어졌다 ㅋㅋ

 

Prob. A

최대 연속 구간의 크기가 답이다. 구현에서 머뭇거리다가 4분이나 걸렸다 ㅠ

 

Prob. B

10*d 이상이면 항상 가능하다는 것밖에 안 보여서 10*d 미만인 경우를 각 d 별로 모두 구하는 O(1) 풀이를 생각했다.. 까마득하긴 했지만 다른 풀이 고민할 시간에 그냥 쓰는 게 이득일 것 같아서 20분 동안 무려 82줄의 장황한 코드를 작성했다. 멍청한 시도였지만 문제가 어려웠는지 다행히 다른 사람들도 늦게 풀었다. AC 받았을 때 600등 정도.

 

Prob. C

애드혹 느낌이 강한 문제. 0<a[1]<a[2]<...<a[n]으로 잡고 d[i]를 수식으로 나타내면 규칙이 바로 보인다. d[i]를 입력받을 때 홀/짝 검사를 하고 정렬해준 뒤, d[2k-1]==d[2k] 인지, d[2k-2]!=d[2k] 인지 확인한다. 그리고 수식을 잘 정리해서 a[1]<=0 인지 검사를 해주면 된다...라고 생각해서 제출하니 WA. 뭘 놓친 건지 고민하다가 2틀을 추가하고 D로 넘어갔다. D가 답이 없어서 다시 왔는데, 바로 놓친 부분이 보였다. n | d[n] 인지 검사해주니 AC... 하지만 시간은 이미 많이 흘러있었다.

 

Prob. D

대회 중엔 n차 부정방정식을 식 두 개로 푸는 문젠 줄 알고 계속 관찰하려 노력했다. (하지만 어림도 없었다)

정해는 이웃한 x의 차의 최대공약수를 구하고 gcd | (k-x[0]) 여부를 판단하는 문제. 이런 발상을 어떻게 2분 만에 하는 걸까...

 

 

D를 관찰했다면 무난히 퍼플 퍼포가 나왔을 것이고, 이를 제외하면 스피드포스에 가까워서 아쉬웠다. 내 성적을 보면 항상 A, B를 빨리 해결하고 C를 끝날 때쯤 푸는 것 같다. 아이디어가 빨리 안 나오는 것도 있고 구현 미스, 잔실수들이 많다. 오늘 있는 Edu는 잘 봤으면 좋겠다..