CF938C.Constructing Tests
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Let's denote a m -free matrix as a binary (that is, consisting of only 1 's and 0 's) matrix such that every square submatrix of size m×m of this matrix contains at least one zero.
Consider the following problem:
You are given two integers n and m . You have to construct an m -free square matrix of size n×n such that the number of 1 's in this matrix is maximum possible. Print the maximum possible number of 1 's in such matrix.
You don't have to solve this problem. Instead, you have to construct a few tests for it.
You will be given t numbers x1 , x2 , ..., xt . For every , find two integers ni and mi ( ni>=mi ) such that the answer for the aforementioned problem is exactly xi if we set n=ni and m=mi .
输入格式
The first line contains one integer t ( 1<=t<=100 ) — the number of tests you have to construct.
Then t lines follow, i -th line containing one integer xi ( 0<=xi<=109 ).
Note that in hacks you have to set t=1 .
输出格式
For each test you have to construct, output two positive numbers ni and mi ( 1<=mi<=ni<=109 ) such that the maximum number of 1 's in a mi -free ni×ni matrix is exactly xi . If there are multiple solutions, you may output any of them; and if this is impossible to construct a test, output a single integer −1 .
输入输出样例
输入#1
3 21 0 1
输出#1
5 2 1 1 -1