1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#define make_pair mp
#define emplace_back pb
#include <bits/stdc++.h>
using namespace std;
const int N = 2005;
int ans = 2019, n, dp[N][N], k, a;
int main()
{
        scanf("%d%d", &n, &k);
        for(int i=1;i<=n;i++) {
                for(int j=1;j<=i;j++) {
                        scanf("%d", &a);
                        if(i == 1) dp[i][j] = 1;
                        else {
                                dp[i][j] = 1 + dp[i-1][j-1] + dp[i-1][j] - dp[i-2][j-1];
                        }
                        if(dp[i][j] <= k) ans = min(ans, a);
                }
        }
        printf("%d\n", ans);
        return 0;
}