Skip to content

Conversation

@0224LJH
Copy link
Contributor

@0224LJH 0224LJH commented Jul 12, 2025

🧷 문제 링크

https://www.acmicpc.net/problem/29726

🧭 풀이 시간

20분

👀 체감 난이도

✏️ 문제 설명

image

위 식과 같은 계산을 통해 행복도를 구한다. 이때 수열에서 최대 m개의 숫자를 제거할 수 있을 때 최대 행복도를 구하자.

🔍 풀이 방법

처음에는 좀 당황했는데, 잘 생각해보니 결국 수열의 끝값 - 첫값 이다.
그렇기에 끝에서 몇번째에서 처음에서 몇번째를 뺼 지만 정하면 되는 것이었다.

물론 m개가 아니라 '최대 m개'이기에 단순하게 0~m개 제거 시 값을 일일히 계산하면 시간이 터진다.
그렇기에

  • i번째 항에 0~i번 값중 가장 작은 값을 보관하는 minArr
  • i번째 항에 len-1 ~ len-1-i번 값 중 가장 큰 값을 보관하는 maxArr
    이 두 개의 배열을 도입 한 후, 이를 통해 O(n)으로 계산하여 해결하였다.

⏳ 회고

풀이법을 알고나면 정말 쉬운문제

@ShinHeeEul ShinHeeEul merged commit d64bd92 into main Jul 12, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants