#include #include int N, M, K; int A[20][20]; int main() { FILE *fin = fopen("minark.in", "r"); FILE *fout = fopen("minark.out", "w"); int x1, y1, x2, y2, i, j, l, s, minl = -1; fscanf(fin, "%d %d %d", &N, &M, &K); for (i = 0; i < N; i++) for (j = 0; j < M; j++) fscanf(fin, "%d", &A[i][j]); for (x1 = 0; x1 < N; x1++) for (y1 = 0; y1 < M; y1++) for (x2 = x1; x2 < N; x2++) for (y2 = y1; y2 < M; y2++) { s = 0; l = (x2-x1+1)*(y2-y1+1); for (i = x1; i <= x2; i++) for (j = y1; j <= y2; j++) s += A[i][j]; //printf("[%d][%d]-[%d][%d] = %d\n", x1, y1, x2, y2, s); if (s >= K && (l < minl || minl == -1)) { minl = l; } } fprintf(fout, "%d", minl); return 0; }