Project Panoptes는 값싼 로봇 망원경으로 관측 자료를 모아 태양계 밖의 행성, 곧 외계 행성을 찾는 프로젝트다. 이 문제에서는 망원경 관측값에서 외계 행성 후보를 골라내는 간단한 프로그램을 만든다.
망원경은 별 하나의 밝기를 하루에 한 번 기록한다. 밝기가 줄어든 날은 별 앞으로 행성이 지나갔을 가능성이 있는 날이다. 밝기가 줄어든 날이 일정한 간격으로 되풀이되면 그 별은 외계 행성을 가진 후보가 된다.
관측일에 1일부터 n일까지 번호를 붙이고, i일의 밝기를 xi라고 하자. 전체 평균을 m=(x1+⋯+xn)/n이라고 할 때 xi<0.8m인 날을 어두워진 날이라고 부른다. 부등호는 엄격하다. 밝기가 평균의 80%와 정확히 같은 날은 어두워진 날이 아니다.
정수 k가 주기라는 것은 다음 두 조건이 모두 성립한다는 뜻이다.
- k≥p
- 1≤s≤k이고 s+k≤n인 시작일 s가 있어서, s,s+k,s+2k,… 중 n 이하인 모든 날이 어두워진 날이다.
둘째 조건은 두 가지를 뜻한다. 주기에는 어두워진 날이 적어도 두 번 나타나야 하므로 k는 n−1을 넘지 않는다. 그리고 부분집합만으로는 부족하다. 4일, 7일, 10일이 어두워졌다고 해도 k=3, s=1이 주기가 되려면 1일과 13일까지 어두워져 있어야 한다.
가능한 주기 중 가장 작은 값을 구한다.