/* ID: espr1t TASK: KEYWORDS: */ #include #include #include #include #include using namespace std; FILE *in; FILE *out; const int MAX = 52; const int INF = 1000000001; int n, m, k; int a[MAX][MAX]; int main(void) { in = stdin; out = stdout; in = fopen("rabbits.in", "rt"); out = fopen("rabbits.out", "wt"); fscanf(in, "%d %d %d", &n, &m, &k); for (int row = 0; row < n; row++) for (int col = 0; col < m; col++) fscanf(in, "%d", &a[row][col]); int ans = -INF; for (int srow = 0; srow < n; srow++) { for (int scol = 0; scol < m; scol++) { for (int erow = 0; erow < n; erow++) { for (int ecol = 0; ecol < m; ecol++) { if (abs(srow - erow) + abs(scol - ecol) == k) { ans = max(ans, a[srow][scol] + a[erow][ecol]); } } } } } fprintf(out, "%d\n", ans < 0 ? -1 : ans); return 0; }