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;
}