#include <bits/stdc++.h>
#define fi first
#define se second
#define ll long long
#define ld long double
#define pb push_back
#define vi vector<int>
#define MAXN 2001
using namespace std;
vi V[MAXN];
bool valid(int x, int y) {
return (y >= 0 && x >= 0 && x <= y);
}
int cost(int x, int y) {
int lefta_x, righta_x, a_y, commona_x, commona_y;
lefta_x = x - 1;
righta_x = x;
a_y = y - 1;
commona_x = lefta_x;
commona_y = a_y - 1;
int res = 1;
// cout<<"---"<<endl;
// cout<<x<<" "<<y<<endl;
// cout<<" "<<valid(lefta_x, a_y)<<endl;
// cout<<" "<<valid(righta_x, a_y)<<endl;
// cout<<" "<<valid(commona_x, commona_y)<<endl;
if(valid(lefta_x, a_y))
res += V[a_y][lefta_x];
if(valid(righta_x, a_y))
res += V[a_y][righta_x];
if(valid(commona_x, commona_y))
res -= V[commona_y][commona_x];
return res;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n, k;
cin >> n >> k;
int res = 10000;
int year;
int x, y;
for (int i = 0; i < n; i++) {
V[i].resize(i + 1);
for (int j = 0; j < V[i].size(); j++) {
cin >> year;
V[i][j] = cost(j, i);
if(V[i][j] <= k)
res = min(res, year);
}
}
// for (int i = 0; i < n; i++) {
// for (int j = 0; j < V[i].size(); j++) {
// cout<<V[i][j]<<" ";
// }
// cout<<endl;
// }
cout<<res<<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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | #include <bits/stdc++.h> #define fi first #define se second #define ll long long #define ld long double #define pb push_back #define vi vector<int> #define MAXN 2001 using namespace std; vi V[MAXN]; bool valid(int x, int y) { return (y >= 0 && x >= 0 && x <= y); } int cost(int x, int y) { int lefta_x, righta_x, a_y, commona_x, commona_y; lefta_x = x - 1; righta_x = x; a_y = y - 1; commona_x = lefta_x; commona_y = a_y - 1; int res = 1; // cout<<"---"<<endl; // cout<<x<<" "<<y<<endl; // cout<<" "<<valid(lefta_x, a_y)<<endl; // cout<<" "<<valid(righta_x, a_y)<<endl; // cout<<" "<<valid(commona_x, commona_y)<<endl; if(valid(lefta_x, a_y)) res += V[a_y][lefta_x]; if(valid(righta_x, a_y)) res += V[a_y][righta_x]; if(valid(commona_x, commona_y)) res -= V[commona_y][commona_x]; return res; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, k; cin >> n >> k; int res = 10000; int year; int x, y; for (int i = 0; i < n; i++) { V[i].resize(i + 1); for (int j = 0; j < V[i].size(); j++) { cin >> year; V[i][j] = cost(j, i); if(V[i][j] <= k) res = min(res, year); } } // for (int i = 0; i < n; i++) { // for (int j = 0; j < V[i].size(); j++) { // cout<<V[i][j]<<" "; // } // cout<<endl; // } cout<<res<<endl; return 0; } |
English