using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace minmark { class Program { static void Main(string[] args) { string inFile = System.IO.File.ReadAllText("geo.in"); string[] rows = inFile.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); int rowsCount = int.Parse(rows[0].Split(' ')[0]); int colCount = int.Parse(rows[0].Split(' ')[1]); int num = int.Parse(rows[0].Split(' ')[2]); int[,] table = new int[rowsCount, colCount]; for (int i = 0; i < rowsCount; i++) { for (int j = 0; j < colCount; j++) { table[i, j] = int.Parse(rows[i + 1].Split(' ')[j]); } } int miniTableSize = -1; for (int i = 0; i < table.GetLength(0); i++) { for (int j = 0; j < table.GetLength(1); j++) { for (int m = i; m < table.GetLength(0); m++) { for (int n = j; n < table.GetLength(1); n++) { int miniTableSum = 0; for (int k = i; k <= m; k++) { for (int l = j; l <= n; l++) { miniTableSum += table[k, l]; } } if (miniTableSum >= num) { int mTSize = (m - i + 1) * (n - j + 1); if (mTSize < miniTableSize || miniTableSize == -1) { miniTableSize = mTSize; } } } } } } System.IO.File.WriteAllText("geo.out", miniTableSize.ToString()); } } }