Предмет: Информатика, автор: Аноним

РЕШИТЕ ПЛИЗ ЗАДАЧУ ЯЗЫК С++ ДАЮ 30 БАЛЛОВ!!!!!

В обувном магазине продается обувь разного размера. Известно, что одну пару обуви можно надеть на другую, если она хотя бы на три размера больше. В магазин пришел покупатель. Требуется определить, какое наибольшее количество пар обуви сможет предложить ему продавец так, чтобы он смог надеть их все одновременно.

Формат входных данных
Сначала вводится размер ноги покупателя (обувь меньшего размера он надеть не сможет), затем количество пар обуви в магазине и размер каждой пары. Размер — натуральное число, не превосходящее 100, количество пар обуви в магазине — целое неотрицательное число, не превосходящее 1000.

Формат выходных данных
Выведите единственное число — максимальное количество пар обуви.

входные данные
60
2
60 63
выходные данные
2

Ответы

Автор ответа: itsgest
4

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

int main()

{

int s, n;

cin >> s >> n;

vector <int> a(n);

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

 cin >> a[i];

sort(a.begin(), a.end());

int prev_s = 0, count = 0;

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

 if(a[i] >= s)

 {

  prev_s = a[i];

  count++;

  for(int j = i; j < n; j++)

   if(a[j] - prev_s >= 3)

   {

    count++;

    prev_s = a[j];

   }

  break;

 }

cout << count;

return 0;

}

Интересные вопросы