#include<bits/stdc++.h> using namespace std; int tab[2009][2009], wiek[2009][2009]; int main() { int n, k, a = 2020; scanf("%d%d", &n, &k); for(int i=1; i<=n; i++) for(int j=1; j<=i; j++) scanf("%d", &wiek[i][j]); for(int i=1; i<=n; i++) { tab[i][i] = i; tab[i][1] = i; if(i <= k) a = min(a, min(wiek[i][i], wiek[i][1])); } for(int i=2; i<=n; i++) { for(int j=2; j<i; j++) { tab[i][j] = tab[i-1][j] + tab[i-1][j-1] - tab[i-2][j-1] + 1; if(tab[i][j] <= k) a = min(a, wiek[i][j]); } } printf("%d", a); 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 | #include<bits/stdc++.h> using namespace std; int tab[2009][2009], wiek[2009][2009]; int main() { int n, k, a = 2020; scanf("%d%d", &n, &k); for(int i=1; i<=n; i++) for(int j=1; j<=i; j++) scanf("%d", &wiek[i][j]); for(int i=1; i<=n; i++) { tab[i][i] = i; tab[i][1] = i; if(i <= k) a = min(a, min(wiek[i][i], wiek[i][1])); } for(int i=2; i<=n; i++) { for(int j=2; j<i; j++) { tab[i][j] = tab[i-1][j] + tab[i-1][j-1] - tab[i-2][j-1] + 1; if(tab[i][j] <= k) a = min(a, wiek[i][j]); } } printf("%d", a); return 0; } |