Сдать решение задачи C-2-Предприниматель Дмитрий (тест 2)
Оставшиеся посылки: 100
Предприниматель Дмитрий (тест 2)
Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программирования. Тесты указаны в самом условии, от вас требуется лишь ввести ответы на них в тестирующую систему.
Предприниматель Дмитрий решил, что хочет заняться выпечкой кренделей. Недавно он получил самый первый и самый важный заказ на выпечку
N
кренделей, на исполнение которого у него есть всего
K
дней.
В самом начале у Дмитрия нет кренделей для заказа. В день сам Дмитрий может выпечь только
A
кренделей. Если он накопит некоторое количество кренделей, он сможет нанять на них знакомых, занимающихся выпечкой — Викторию или Алексея. Виктория согласна Дмитрию, если он даст ей в подарок
B
v
кренделей, а Алексей — если получит в подарок
B
a
кренделей.
Виктория и Алексей следующим образом:
1. Дмитрий дарит знакомому количество кренделей, которое тот просил, и тратит один день на его обучение выпечке кренделей по особой технологии. Таким образом, в этот день Дмитрий потратит уже накопленные крендели на знакомого, и не будет ничего выпекать сам, потому что занят обучением. Дмитрий не может одновременно обучать Викторию и Алексея, если он хочет нанять обоих, ему надо потратить два дня.
2. Со следующего дня после обучения знакомый начинает Дмитрию, выпекая некоторое количество кренделей каждый день. Виктория будет выпекать дополнительно по
C
v
кренделей каждый день, а Алексей по
C
a
кренделей.
Так как вы грамотный бизнес-аналитик, Дмитрий решил попросить вас ему в составлении плана для выполнения заказа.
Вам необходимо написать через пробел последовательность команд для Дмитрия в каждый из
K
дней, в которой каждая команда будет записываться цифрой от 1 до 3 и обозначать следующее:
1 — Дмитрий выпекает крендели;
2 — Дмитрий тратит весь день на обучение Виктории выпечке кренделей и отдает ей
B
v
кренделей. Таким образом, в этот день сам Дмитрий только отдаст
B
v
кренделей, а во все последующие дни Виктория будет выпекать дополнительно
C
v
кренделей;
3 — Дмитрий тратит весь день на обучение Алексея выпечке кренделей и отдаёт ему
B
a
кренделей. Таким образом, в этот день сам Дмитрий только отдаст
B
a
кренделей, а во все последующие дни Алексей будет выпекать дополнительно
C
a
кренделей.
В результате должна получиться последовательность из
K
цифр от 1 до 3, записанная через пробел. Когда Дмитрий закончит выполнять команды, у него должно быть не менее
N
кренделей. Гарантируется, что при правильной стратегии Дмитрий может выполнить заказ.
Примечание
Тест №1:
N
=
12
,
K
=
4
,
A
=
3
,
B
v
=
2
,
C
v
=
2
,
B
a
=
1
,
C
a
=
1
;
Тест №2:
N
=
43
,
K
=
6
,
A
=
7
,
B
v
=
10
,
C
v
=
6
,
B
a
=
8
,
C
a
=
4
;
Тест №3:
N
=
118
,
K
=
10
,
A
=
11
,
B
v
=
43
,
C
v
=
10
,
B
a
=
13
,
C
a
=
5
;
Тест №4:
N
=
420
,
K
=
15
,
A
=
21
,
B
v
=
12
,
C
v
=
9
,
B
a
=
10
,
C
a
=
7
.
Выходные данные
Для каждого теста требуется ввести в тестирующую систему последовательность из
K
цифр от 1 до 3, записанных через пробел — порядок команд Дмитрия, которые приведут к выполнению заказа.
Введите в поле последовательность чисел, разделенных пробелом - ответ на тест 2.
Сдать решение
#include <iostream>
using namespace std;
int main()
{
int n, m;
int **arr;
int min;
cout << "Enter dimension of array (n/m)" << endl;
cin >> n >> m;
arr = new int *[n];
for (int i = 0; i < n; i++) {
arr[i] = new int[m];
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << "arr[" << i << "][" << j << "] = ";
cin >> arr[i][j];
}
}
cout << "Your array:" << endl;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
cout << arr[i][j] << " ";
}
cout << endl;
}
cout << "Min is: ";
min = arr[0][0];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (min > arr[i][j]) {
min = arr[i][j];
}
}
}
cout << min << endl;
return 0;
}
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "");
int N = 10;
int max = -9999999;
int sum = 0;
int choise = 0;
int arr[N] = {0};
cout << "Введите 10 значений: ";
for(int i = 0; i<N; ++i) {
cin >> arr[i];
}
cout << "Введите действие (1 - +, 2 - макс. значение, 3 - колво отр. значений)";
cin >> choise;
if(choise==1) {
for(int i = 0; i<N; ++i) {
sum+=arr[i];
}
cout << endl << "Сумма: " << sum;
}
if(choise==2) {
for(int i = 0; i<N; ++i) {
if(arr[i]>max) {
max = arr[i];
}
}
cout << endl << "Макс. знач: " << max;
}
if(choise==3) {
for(int i = 0; i<N; ++i) {
if(arr[i]<0) {
++sum;
}
}
cout << "Колво отр. знач: " << sum;
}
if(choise!=1&&choise!=2&&choise!=3) {
cout << "Введите корректное значение.";
}
return 0;
}