int main() { int m, n,time, k = 0; cin >> m >> n >> time; int t; for(int i = 1; i <=m;i++) for (int j = 1; j <= n; j++) { cin >> p[i][j]; if (p[i][j] > 0) { pnut[k].num = p[i][j]; pnut[k].x = i; pnut[k].y = j; k++; } }
sort(pnut, pnut + k, cmp); int ans = 0; for (int i = 0; i < k; i++) { if (i == 0) pnut[i].t = pnut[i].x + 1; else pnut[i].t = pnut[i - 1].t + abs(pnut[i].x - pnut[i - 1].x) + abs(pnut[i].y - pnut[i - 1].y) + 1; if (pnut[i].t + pnut[i].x <= time) ans += pnut[i].num; }
cout << ans; }
|