原题链接
题意
思路
如果是负数的话,那么肯定是no,因为是负数就会不断产生新数。
另外就全是YES,因为
a
i
a_i
ai 的范围是100,而
b
b
b 数组,的范围是300,那么就直接输出
[
0
,
299
]
[0, 299]
[0,299]就好了,肯定可以全覆盖到
a
i
a_i
ai 的范围。
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t; cin >> t;
while (t -- )
{
int n;
cin >> n;
vector<int> a;
bool f=0;
for (int i = 1; i <= n; i ++ )
{
int x; cin >> x;
a.push_back(x);
if (x < 0)
{
f = 1;
}
}
if (f)
{
cout << "No" << endl;
}
else
{
cout << "Yes" << endl;
cout << "300" << endl;
for (int i = 0; i <= 299; i ++ )
{
cout << i << " ";
}
cout << endl;
}
}
return 0;
}