#include <iostream> using namespace std; int main() { int n; // wysokosc piramidy int k; // liiczba butelek do wziecia int rocznik = 2020; // najstarsza butelka, ktora mozna wziac cin >> n; cin >> k; int **butelka = new int *[n]; for (int i = n - 1; i >= 0; i--) { butelka[i] = new int[n - i]; for (int j = 0; j < n - i; j++) { cin >> butelka[i][j]; if (butelka[i][j] < rocznik) { if (((n - i) * (n - i + 1) / 2) - (j * (j + 1) / 2) - ((n - i - j - 1) * (n - i - j) / 2) <= k) rocznik = butelka[i][j]; else if (j < (n - i) / 2) j = n - i - j; } } } cout << rocznik; for (int i = n - 1; i >= 0; i--) delete[] butelka[i]; delete[] butelka; 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 | #include <iostream> using namespace std; int main() { int n; // wysokosc piramidy int k; // liiczba butelek do wziecia int rocznik = 2020; // najstarsza butelka, ktora mozna wziac cin >> n; cin >> k; int **butelka = new int *[n]; for (int i = n - 1; i >= 0; i--) { butelka[i] = new int[n - i]; for (int j = 0; j < n - i; j++) { cin >> butelka[i][j]; if (butelka[i][j] < rocznik) { if (((n - i) * (n - i + 1) / 2) - (j * (j + 1) / 2) - ((n - i - j - 1) * (n - i - j) / 2) <= k) rocznik = butelka[i][j]; else if (j < (n - i) / 2) j = n - i - j; } } } cout << rocznik; for (int i = n - 1; i >= 0; i--) delete[] butelka[i]; delete[] butelka; return 0; } |