Регистрация
Войти
Стать экспертом Правила
Информатика

В кинотеатре n рядов, в i-м из них находится ai кресел. На киносеанс по очереди приходят k человек, при этом некоторые из них любят сидеть поближе к экрану, а некоторые — наоборот, подальше. Соответственно, если человек любит сидеть поближе к экрану, то по приходу в кинозал он занимает место на ближайшем к экрану ряду, на котором есть свободное место. Аналогично, любящие сидеть подальше занимают место на последнем ряду среди тех рядов, на которых еще есть свободное место. Вам заданы предпочтения людей в порядке прихода на киносеанс. Выведите для каждого человека, на какой ряд он сядет.

ОТВЕТЫ

#include <iostream>

using namespace std;

int main()

{

int n, k, j;

cin >> n;

int a[n];

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

{

 cin >> a[i];

}

cin >> k;

int b[k];

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

{

 cin >> b[i];

}

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

{

 if (b[i] == 0)

 {

  j = 0;

  while (a[j] == 0) j++;

  cout << j + 1 << " ";

  a[j]--;

 }

 else

 {

  j = 0;

  while (a[n - j - 1] == 0) j++;

  cout << n - j << " ";

  a[n - j - 1]--;

 }

}

}

Ну уж ТОЧНО не Осокин который решил раньше

950
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам