Canadian Computing Competition: 2014 Stage 1, Junior #4, Senior #1
You are hosting a party and do not have room to invite all of your friends. You use the following unemotional mathematical method to determine which friends to invite.
Number your friends
and place them in a list in this order. Then perform
rounds. In each round, use a number to determine which friends to remove from the ordered list.
The rounds will use numbers
. In round
remove all the remaining people in positions that are multiples of
(that is,
) The beginning of the list is position
.
Output the numbers of the friends that remain after this removal process.
Input Specification
The first line of input contains the integer
. The second line of input contains the integer
, which is the number of rounds of removal. The next
lines each contain one integer. The
of these lines
contains
indicating that every person at a position which is multiple of
should be removed.
Output Specification
The output is the integers assigned to friends who were not removed. One integer is printed per line in increasing sorted order.
Sample Input
Copy
10
2
2
3
Output for Sample Input
Copy
1
3
7
9
Explanation of Output for Sample Input
Initially, our list of invitees is
. There will be two rounds of removals. After the first round of removals, we remove the even positions (i.e., every second position), which causes our list of invitees to be
. After the second round of removals, we remove every 3rd remaining invitee: thus, we keep
and
, remove
and keep
and
, which leaves us with an invitee list of
.
Comments
this took me way longer than expected
hardest Junior 4 in a while
agreed
is this sarcasm or something
buddy this is senior 1
Canadian Computing Competition: 2014 Stage 1, Junior #4, Senior #1
So... actually thunder200911133 isn't wrong. it is both J4 and S1.
holy nerd emoji
fax