1646. Hints of sd0061

时间限制 3000 ms   内存限制 128 MB

sd0061, the legend of Beihang University ACM-ICPC Team, retired last year leaving a group of noobs. Noobs have no idea how to deal with $m$ coming contests. sd0061 has left a set of hints for them.

There are $n$ noobs in the team, the $i$-th of which has a rating $a_i$. sd0061 prepares one hint for each contest. The hint for the $j$-th contest is a number $b_j$, which means that the noob with the $(b_j + 1)$-th lowest rating is ordained by sd0061 for the $j$-th contest.

The coach asks constroy to make a list of contestants. constroy looks into these hints and finds out: $b_i + b_j \leq b_k$ is satisfied if $b_i \neq b_j,$ $b_i < b_k$ and $b_j < b_k$.

Now, you are in charge of making the list for constroy.

输入数据

There are multiple test cases (about $10$).

For each test case:

The first line contains five integers $n, m, A, B, C$. $(1 \leq n \leq 10^7, 1 \leq m \leq 100)$

The second line contains $m$ integers, the $i$-th of which is the number $b_i$ of the $i$-th hint. $(0 \leq b_i < n)$

The $n$ noobs' ratings are obtained by calling following function $n$ times, the $i$-th result of which is $a_i$.

unsigned x = A, y = B, z = C;
unsigned rng61() {
  unsigned t;
  x ^= x << 16; x ^= x >> 5;
  x ^= x << 1; t = x; x = y; y = z; z = t ^ x ^ y; return z; }

输出数据

For each test case, output "Case #$x$: $y_1$ $y_2$ $\cdots$ $y_m$" in one line (without quotes), where $x$ indicates the case number starting from $1$ and $y_i$ $(1 \leq i \leq m)$ denotes the rating of noob for the $i$-th contest of corresponding case.

样例输入

复制
3 3 1 1 1
0 1 2
2 2 2 2 2
1 1 · · · · \n
 · · \n
 · · · · \n
 · \n

样例输出

复制
Case #1: 1 1 202755
Case #2: 405510 405510
    ·   · · ·      \n
    ·   ·      ·      \n

提交

请先 登录

Source

2017 Multi-University Training Contest - Team 1

© 2024 FAQs Contact About