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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include <iostream>
#include <cmath>
#include <vector>

using namespace std;

int main()
{
	

	int n, k, pom = 0, indeks = 0, najm = 2020; // wysokosc | ilosc branych beczek | pomocnicza | indeks | najmniejsza liczba

	cin >> n >> k;

	vector <pair <int, int> > roki (n*(n+2)/2);

	for (int i = 1; i <= n; i++) {
		for (int j = 0; j < i; j++) {
			if (j <= i - 1 / 2 ) {

				pom += (i - j * 2);
				roki[indeks].first = pom;
					
			}
			else {
				pom -= (i - j * 2);
				roki[indeks].second = pom;
			}
				cin >> roki[indeks].second;

				if (roki[indeks].first <= k and najm > roki[indeks].second) {
					najm = roki[indeks].second;
				}

				
				indeks++;
				
		}
		pom = 0;
	}

	indeks = 0;

	/*for (int i = 1; i <= n; i++) {
		for (int j = 0; j < i; j++) {
			cout << roki[indeks].first << " ";
			indeks++;
		}
		cout << endl;
	}*/

	cout << najm;

	


	return 0;
}