대충 블록에서 영혼 탈출시키는 게임
시간 제한1초메모리 제한1024 MB
N개의 블록이 한 줄로 이어져 있을 때, 길이 3 이상인 사슬에서 블록을 제거하는 과정을 반복합니다. 제거할 수 있는 블록의 최대 개수를 구하는 문제입니다.
문제
어느 날 대구과학고등학교에 악마가 나타나 개의 블록마다 학생의 영혼을 하나씩 가두었다. 블록은 일렬로 놓여 있고, 인접한 블록끼리는 사슬로 이어져 있다. 한 블록에서 출발해 사슬을 따라 이동하며 닿을 수 있는 블록들의 집합을 체인이라 하고, 체인을 이루는 블록의 개수를 체인의 길이라 한다. 처음에는 개의 블록 전체가 하나의 체인을 이루며, 그 길이는 이다.
양적 공리주의를 옹호하는 이안이는 길이가 이상인 체인이 없을 때까지 아래 과정을 반복해 최대한 많은 영혼을 탈출시키려 한다. 블록을 들어내면 그 블록에 직접 이어져 있던 사슬은 모두 제거된다.
- 길이가 이상인 체인 를 고른다.
- 의 길이가 이하이면 블록 하나를 들어내고, 그렇지 않으면 인접하지 않은 블록 두 개를 들어낸다. 이때 다음 조건을 만족해야 한다.
- 들어내는 블록에는 사슬 두 개가 인접해 있어야 한다. 즉, 체인의 양 끝점에 있는 블록은 들어낼 수 없다.
- 블록을 들어내면 는 더 이상 체인이 아니게 되고, 개 또는 개의 새 체인이 생긴다. 새 체인 중 길이의 최솟값은 가능한 한 커야 한다.
이안이가 들어낼 수 있는 블록 개수의 최댓값을 구하라.
입력
첫 번째 줄에 블록의 개수 이 주어진다.
출력
이안이가 들어낼 수 있는 블록 개수의 최댓값을 정수 하나로 출력한다.
제한
을 만족하는 정수이다.