В обувном магазине продается обувь разного размера. Известно, что одну пару обуви можно надеть на другую, если она хотя бы на три размера больше. В магазин пришел покупатель. Требуется определить, какое наибольшее количество пар обуви сможет предложить ему продавец так, чтобы он смог надеть их все одновременно.
Входные данные
Сначала вводится размер ноги покупателя (обувь меньшего размера он надеть не сможет), затем количество пар обуви в магазине и размер каждой пары. Размер — натуральное число, не превосходящее 100, количество пар обуви в магазине не превосходит 1000.
Выходные данные
Выведите единственное число — максимальное количество пар обуви.
Вот мой код:
#include
#include
#include
using namespace std;
int main() {
int n, footSize;
cin >> footSize >> n;
vector a;
for (int i = 0; i < n; i++) {
int temp = 0;
cin >> temp;
if (temp >= footSize) {
a.push_back(temp);
}
}
sort(a.begin(), a.end());
int temp = 0, i = 0;
for (auto now : a) {
if (now >= temp + 3) {
i++;
temp = now;
}
}
cout << i;
return 0;
}
Что-то не так поправьте
Во-первых, у тебя не указаны заголовки для включения необходимых библиотек. Тебе потребуется включить
```
#include
#include
#include
```
Во-вторых, у тебя нет объявления шаблона для вектора a. Исправь строку
```
vector a;
```
на
```
vector
```
После этих исправлений код будет выглядеть следующим образом:
```
#include
#include
#include
using namespace std;
int main() {
int n, footSize;
cin >> footSize >> n;
vector
for (int i = 0; i < n; i++) {
int temp = 0;
cin >> temp;
if (temp >= footSize) {
a.push_back(temp);
}
}
sort(a.begin(), a.end());
int temp = 0, i = 0;
for (auto now : a) {
if (now >= temp + 3) {
i++;
temp = now;
}
}
cout << i;
return 0;
}
```
Теперь, когда код исправлен, давай разберемся, как он работает.
1. В начале вводятся данные: размер ноги покупателя и количество пар обуви в магазине.
2. Затем создается пустой вектор a, в который будут добавляться размеры обуви, которые больше или равны размеру ноги покупателя.
3. В цикле происходит считывание размеров каждой пары обуви. Если размер обуви больше или равен размеру ноги покупателя, он добавляется в вектор a.
4. После считывания всех размеров обуви вектор a сортируется по возрастанию, чтобы размеры были в порядке возрастания.
5. Затем инициализируются две переменные: temp для хранения размера последней надетой пары обуви и i для подсчета количества пар обуви, которые покупатель может надеть одновременно. Обе переменные устанавливаются равными нулю.
6. В цикле происходит проверка каждой пары обуви в векторе a. Если размер текущей пары обуви больше или равен temp + 3 (т.е. на три размера больше, чем предыдущая надетая пара), увеличиваем i на единицу и присваиваем temp значение размера текущей пары обуви.
7. В конце выводится значение i, которое является максимальным количеством пар обуви, которые покупатель сможет надеть одновременно.
Надеюсь, эта подробная разборка помогла тебе понять код и исправить его! Если у тебя возникнут еще вопросы, не стесняйся задавать!