#include <algorithm> #include <cstdio> using namespace std; int n, k; int a[2019][2019]; int solve() { int best = a[0][0]; for(int i=0;i<n;i++) { for(int j=0;j<=i;j++) { int m = j <= i/2 ? j : i-j; if((m+1)*(i+1-m) <= k) { best = min(best, a[i][j]); } } } return best; } int main(int argc, char** argv) { scanf("%d%d", &n, &k); for(int i=0;i<n;i++) { for(int j=0;j<=i;j++) { scanf("%d", &(a[i][j])); } } int res = solve(); printf("%d\n", res); return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include <algorithm> #include <cstdio> using namespace std; int n, k; int a[2019][2019]; int solve() { int best = a[0][0]; for(int i=0;i<n;i++) { for(int j=0;j<=i;j++) { int m = j <= i/2 ? j : i-j; if((m+1)*(i+1-m) <= k) { best = min(best, a[i][j]); } } } return best; } int main(int argc, char** argv) { scanf("%d%d", &n, &k); for(int i=0;i<n;i++) { for(int j=0;j<=i;j++) { scanf("%d", &(a[i][j])); } } int res = solve(); printf("%d\n", res); return 0; } |