제이크와 케이크
면접 대비시간 제한1초메모리 제한128 MB
N개 과일을 배치한 케이크를 최소 횟수로 잘라 두 사람이 각각 딸기와 키위를 동일히 갖도록 하고 그 자르는 위치를 출력합니다.
문제
제이크는 레이니콘에게 긴 모양의 케이크를 선물로 받았다.
케이크 위에는 N개의 과일 조각이 일정한 간격으로 일렬로 올려져 있다. 과일은 딸기 N/2개와 키위 N/2개로 이루어져 있으며, N은 4의 배수이다.
제이크는 케이크를 핀과 정확히 절반씩 나누어 먹으려고 한다. 올려진 과일의 종류까지 고려해서 나누어야 하므로, 제이크가 받은 딸기가 N/4개, 키위도 N/4개여야 한다. 핀도 제이크와 같은 개수의 딸기와 키위를 받아야 한다.
제이크와 핀은 케이크를 자르는 일이 귀찮아서 자르는 횟수를 최소화하려고 한다. 핀과 제이크가 똑같이 나누어 먹기 위해 케이크를 잘라야 하는 최소 횟수와 방법을 알려주자.
입력
첫 번째 줄에는 케이크 위에 있는 과일의 개수 N (4 ≤ N ≤ 200,000)이 주어진다.
두 번째 줄에는 케이크의 정보가 담긴 길이가 N인 문자열이 주어진다. i번째 문자가 's'이면 i번째 칸에는 딸기가, 'k'이면 키위가 올려져 있음을 의미한다.
출력
첫 번째 줄에 최소 횟수 k (1 ≤ k ≤ N - 1)를 출력한다.
두 번째 줄에는 k개의 정수 c1, c2, ..., ck (1 ≤ c1 < c2 < ... < ck ≤ N - 1)를 출력한다. 여기서 ci는 ci번째 과일이 있는 곳과 ci+1번째 과일이 있는 곳 사이를 자른다는 의미이다.
자르는 방법이 여러 개인 경우 그 중 하나만 출력한다.