#include<iostream> using namespace std; int wina[2002][2002], ponad[2002][2002]; void wypisz(int tab[2002][2002],int n); int main() { ios_base::sync_with_stdio(0); int n, k, i, j, minim = 2020; cin >> n >> k; for(i = 1; i <= n; i++) for(j = 1; j <= i; j++) cin >> wina[i][j]; //wypisz(wina, n); for(i = 1; i <= n; i++) ponad[i][1] = i; for(i = 2; i <= n; i++) for(j = 2; j <= i; j++) ponad[i][j] = ponad[i-1][j-1]+ponad[i+1-j][1]; //wypisz(ponad, n); for(i = 1; i <= n; i++) for(j = 1; j <= i; j++) if(ponad[i][j] <= k) minim = min(minim,wina[i][j]); cout << minim; return 0; } void wypisz(int tab[2002][2002],int n) { for(int i = 1; i <= n; i++){ for(int j = 1; j <= i; j++) cout << tab[i][j] <<" "; cout << endl; } }
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 | #include<iostream> using namespace std; int wina[2002][2002], ponad[2002][2002]; void wypisz(int tab[2002][2002],int n); int main() { ios_base::sync_with_stdio(0); int n, k, i, j, minim = 2020; cin >> n >> k; for(i = 1; i <= n; i++) for(j = 1; j <= i; j++) cin >> wina[i][j]; //wypisz(wina, n); for(i = 1; i <= n; i++) ponad[i][1] = i; for(i = 2; i <= n; i++) for(j = 2; j <= i; j++) ponad[i][j] = ponad[i-1][j-1]+ponad[i+1-j][1]; //wypisz(ponad, n); for(i = 1; i <= n; i++) for(j = 1; j <= i; j++) if(ponad[i][j] <= k) minim = min(minim,wina[i][j]); cout << minim; return 0; } void wypisz(int tab[2002][2002],int n) { for(int i = 1; i <= n; i++){ for(int j = 1; j <= i; j++) cout << tab[i][j] <<" "; cout << endl; } } |