CF1453D.Checkpoints

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Gildong is developing a game consisting of nn stages numbered from 11 to nn . The player starts the game from the 11 -st stage and should beat the stages in increasing order of the stage number. The player wins the game after beating the nn -th stage.

There is at most one checkpoint on each stage, and there is always a checkpoint on the 11 -st stage. At the beginning of the game, only the checkpoint on the 11 -st stage is activated, and all other checkpoints are deactivated. When the player gets to the ii -th stage that has a checkpoint, that checkpoint is activated.

For each try of a stage, the player can either beat the stage or fail the stage. If they beat the ii -th stage, the player is moved to the i+1i+1 -st stage. If they fail the ii -th stage, the player is moved to the most recent checkpoint they activated, and they have to beat the stages after that checkpoint again.

For example, assume that n=4n = 4 and the checkpoints are on the 11 -st and 33 -rd stages. The player starts at the 11 -st stage. If they fail on the 11 -st stage, they need to retry the 11 -st stage because the checkpoint on the 11 -st stage is the most recent checkpoint they activated. If the player beats the 11 -st stage, they're moved to the 22 -nd stage. If they fail it, they're sent back to the 11 -st stage again. If they beat both the 11 -st stage and the 22 -nd stage, they get to the 33 -rd stage and the checkpoint on the 33 -rd stage is activated. Now whenever they fail on the 33 -rd stage, or the 44 -th stage after beating the 33 -rd stage, they're sent back to the 33 -rd stage. If they beat both the 33 -rd stage and the 44 -th stage, they win the game.

Gildong is going to build the stages to have equal difficulty. He wants you to find any series of stages and checkpoints using at most 20002000 stages, where the expected number of tries over all stages is exactly kk , for a player whose probability of beating each stage is exactly 12\cfrac{1}{2} .

输入格式

Each test contains one or more test cases. The first line contains the number of test cases tt ( 1t501 \le t \le 50 ).

Each test case contains exactly one line. The line consists of a single integer kk ( 1k10181 \le k \le 10^{18} ) — the expected number of tries over all stages Gildong wants to set for a player whose probability of beating each stage is exactly 12\cfrac{1}{2} .

输出格式

For each test case, print 1-1 if it's impossible to construct such a series of stages and checkpoints using at most 20002000 stages.

Otherwise, print two lines. The first line should contain a single integer nn ( 1n20001 \le n \le 2000 ) – the number of stages. The second line should contain nn integers, where the ii -th integer represents whether the ii -th stage has a checkpoint. The ii -th integer should be 00 if the ii -th stage doesn't have a checkpoint, and 11 if it has a checkpoint. Note that the first integer must be 11 according to the description.

输入输出样例

  • 输入#1

    4
    1
    2
    8
    12

    输出#1

    -1
    1
    1
    4
    1 1 1 1
    5
    1 1 0 1 1

说明/提示

In the first and the second case, we can see that the 'easiest' series of stages is to have 11 stage with a checkpoint. This already requires 22 tries in expectation, so it is impossible to make it to require only 11 try.

In the third case, it takes 22 tries in expectation to beat each stage, and the player can always retry that stage without falling back to one of the previous stages if they fail it. Therefore the total expected number of tries is 88 . Note that there exists an answer with fewer stages, but you are not required to minimize the number of stages used.

首页