/** * Deon Nicholas' solution to Project Panoptes. * * It is effectively brute force. Try all possible period lengths L (>= p), * and for each period length L, check each possible starting position * in [0,L). * * Stop once we find one. The total running time is O(N^2). */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FORALL(i,a,b) for(int i=(a);i<=(b);++i) #define FOR(i,n) for(int i=0;i<(n);++i) #define FORB(i,a,b) for(int i=(a);i>=(b);--i) typedef long long ll; typedef long double ld; typedef complex vec; typedef pair plli; typedef pair pii; typedef map mii; #define pb push_back #define mp make_pair #define MAXN 1005 double A[MAXN]; bool works(int len, int N, double goal) { FOR(i,len) { bool good = true; for(int j = i; j < N; j+=len) { if (A[j] >= goal) { good = false; break; } } if (good) return true; } return false; } int main() { int N,P; scanf("%d%d",&N,&P); assert(2 <= N && N <= 1000); assert(1 <= P && P <= N-1); double sum = 0; FOR(i,N) scanf("%lf",&A[i]), sum += A[i]; sum /= N; double goal = sum * 8 / 10; FORALL(len,P,N) if (works(len,N,goal)) { printf("%d\n",len); return 0; } printf("-1\n"); }