В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
hdhsjs
hdhsjs
21.04.2021 21:50 •  Информатика

, на с++ надо Новый интернет-провайдер предоставляет услугу доступа в интернет с посекундной тарификацией. Для подключения нужно купить карточку, позволяющую пользоваться интернетом определенное количество секунд. При этом компания продает карточки стоимостью
1
,
2
,
4
,

,
2
30
рублей на
a
0
,
a
1
,
a
2
,

,
a
30
секунд соответственно.

Родители разрешили Пете пользоваться интернетом
m
секунд. Определите, за какую наименьшую сумму он сможет купить карточки, которые позволят ему пользоваться интернетом не менее
m
секунд. Естественно, Петя может купить как карточки различного достоинства, так и несколько карточек одного достоинства.

Формат входных данных
В первой строке содержится единственное натуральное число
m

(
1

m

10
9
)
. Во второй строке задаются натуральные числа
a
0
,
a
1
,

,
a
30
, не превосходящие
10
9
.

Формат результата
Выведите единственное число — наименьшую сумму денег, которую Пете придется потратить.

Показать ответ
Ответ:
vladgrigav
vladgrigav
16.03.2021 11:53

#include <iostream>

#include <string>

#define N 5

using namespace std;

int count_flat = 0;

struct Flat {

int n_rooms;

int square;

int floor;

string address;

double price;

void PrintInfo() {

 cout << "\nКоличество комнат: " << n_rooms << "\nПлощадь " << square << "\nЭтаж:" << floor << "\nАдрес " << address << "\nЦена: " << price;

}

void InputInfo() {

 cout << "Количество комнат: ";

 cin >> n_rooms;

 cout << "Площадь: ";

 cin >> square;

 cout << "Этаж: ";

 cin >> floor;

 cout << "Адрес: ";

 getline(cin, address);

 cout << "Цена: ";

 cin >> price;

}

void PrintChecksInfo(int number) {

 

 if (number >= price) {

  count_flat++;

  PrintInfo();

 }

}

};

signed main() {

setlocale(LC_ALL, "Rus");

int choice;

Flat mas[N];

for (int i = 0; i < N; i++)

 mas[i].InputInfo();

cout << "Введите стоимость: ";

cin >> choice;

for (int i = 0; i < N; i++) {

 mas[i].PrintChecksInfo(choice);

}

if (count_flat <= 0)

 cout << "Таких квартир нет!";

return 0;

}

0,0(0 оценок)
Ответ:
dogparrker
dogparrker
06.06.2020 23:35

Ре­ше­ние.

Ско­пи­ру­ем число из ячей­ки A1 в ячей­ку P1. По­сколь­ку ладья может хо­дить через не­огра­ни­чен­ное ко­ли­че­ство ячеек вниз и впра­во, не­об­хо­ди­мо для каж­дой ячей­ки вы­би­рать, из ка­ко­го числа в стро­ке до этой ячей­ки, и из ка­ко­го числа в столб­це выше этой ячей­ки долж­на схо­дить ладья, чтобы сумма ячеек при этом была мак­си­маль­ной. Для этого в ячей­ке Q1 за­пи­шем фор­му­лу =МАКС($P$1:P1)+B1 и ско­пи­ру­ем её во все ячей­ки диа­па­зо­на R1:AD1. В ячей­ке P2 за­пи­шем фор­му­лу =МАКС($P$1:P1)+A2 и ско­пи­ру­ем её во все ячей­ки диа­па­зо­на P3:P15. В ячей­ке Q2 за­пи­шем фор­му­лу =МАКС(МАКС($P2:P2);МАКС(Q$1:Q1))+B2 и ско­пи­ру­ем её во все ячей­ки диа­па­зо­на Q2:AD15. По­лу­чим ответ — 323.

 

ответ: 323.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота