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
37
38
39
40
41
#include <bits/stdc++.h>

using namespace std;

const int N = 2001;

int n,k;

vector<pair<int,int>>rows[N];

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cin>>n>>k;
	int a;
	for(int i=0;i<n;i++){
		for(int j=0;j<=i;j++){
			cin>>a;
			rows[i].emplace_back(a,1);
		}
	}
	for(int i=1;i<n;i++){
		for(int j=0;j<=i;j++){
			if(j > 0)
				rows[i][j].second += rows[i-1][j-1].second;
			if(j < i)
				rows[i][j].second += rows[i-1][j].second;
			if(i > 1 && j > 0 && j <= i-1)
				rows[i][j].second -= rows[i-2][j-1].second;
		}
	}
	
	int res = 2020;
	for(int i=0;i<n;i++){
		for(int j=0;j<=i;j++){
			if(rows[i][j].second <= k)
				res = min(res,rows[i][j].first);
		}
	}
	cout<<res<<endl;
}