#include <bits/stdc++.h> using namespace std; #define REP(i, x) for(int i = 0; i < x; i++) #define FOR(i, x) for(int i = 1; i<=x; i++) #define FORALL(it, x) for(__typeof(x.begin()) it = x.begin(); it != x.end(); it++) #define PB push_back #define MP make_pair #define ST first #define ND second int butelki[2010][2010]; int ile_min[2010][2010]; int n, k; int main () { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> k; FOR(i, n) { FOR(j, i) { cin >> butelki[i][j]; } } ile_min[1][1] = 1; FOR(i, n) FOR(j, i) if(i > 1) ile_min[i][j] = ile_min[i-1][j] + ile_min[i-1][j-1] - ile_min[i-2][j-1] + 1; int najlepszy_rocznik = 2020; FOR(i, n) FOR(j, i) if(ile_min[i][j] <= k) najlepszy_rocznik = min(najlepszy_rocznik, butelki[i][j]); cout << najlepszy_rocznik << endl; return 0; }
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 | #include <bits/stdc++.h> using namespace std; #define REP(i, x) for(int i = 0; i < x; i++) #define FOR(i, x) for(int i = 1; i<=x; i++) #define FORALL(it, x) for(__typeof(x.begin()) it = x.begin(); it != x.end(); it++) #define PB push_back #define MP make_pair #define ST first #define ND second int butelki[2010][2010]; int ile_min[2010][2010]; int n, k; int main () { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n >> k; FOR(i, n) { FOR(j, i) { cin >> butelki[i][j]; } } ile_min[1][1] = 1; FOR(i, n) FOR(j, i) if(i > 1) ile_min[i][j] = ile_min[i-1][j] + ile_min[i-1][j-1] - ile_min[i-2][j-1] + 1; int najlepszy_rocznik = 2020; FOR(i, n) FOR(j, i) if(ile_min[i][j] <= k) najlepszy_rocznik = min(najlepszy_rocznik, butelki[i][j]); cout << najlepszy_rocznik << endl; return 0; } |