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 <iostream>
#include <vector>
using namespace std;

int main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	
	int n,k;
	cin >> n >> k;
	
	vector<vector<int>>Bottles(n);
	int bestWine=2044;
	
	for(int i=0;i<n;i++){
		Bottles[i].resize(i+1);
		for(int j=0;j<=i;j++){
			int x;
			cin >> x;
			Bottles[i][j] = 1;
			if(j>0)
				Bottles[i][j] += Bottles[i-1][j-1];
			if(j<i)
				Bottles[i][j] += Bottles[i-1][j];
			if(j>0 && j<i)
				Bottles[i][j] -= Bottles[i-2][j-1];
			
			if(Bottles[i][j]<=k && x<bestWine)
				bestWine=x;
		}
	}
	
	cout << bestWine << "\n";
	
	return 0;
}