#define make_pair mp #define emplace_back pb #include <bits/stdc++.h> using namespace std; const int N = 2005; int ans = 2019, n, dp[N][N], k, a; int main() { scanf("%d%d", &n, &k); for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { scanf("%d", &a); if(i == 1) dp[i][j] = 1; else { dp[i][j] = 1 + dp[i-1][j-1] + dp[i-1][j] - dp[i-2][j-1]; } if(dp[i][j] <= k) ans = min(ans, a); } } printf("%d\n", ans); return 0; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #define make_pair mp #define emplace_back pb #include <bits/stdc++.h> using namespace std; const int N = 2005; int ans = 2019, n, dp[N][N], k, a; int main() { scanf("%d%d", &n, &k); for(int i=1;i<=n;i++) { for(int j=1;j<=i;j++) { scanf("%d", &a); if(i == 1) dp[i][j] = 1; else { dp[i][j] = 1 + dp[i-1][j-1] + dp[i-1][j] - dp[i-2][j-1]; } if(dp[i][j] <= k) ans = min(ans, a); } } printf("%d\n", ans); return 0; } |