Codeforces Round #724 (Div. 2)A. Omkar and Bad Story
给一个数组, 问是否可以组成一个数组, 里面的元素包含其中任意两个元素相减的绝对值.
这题, 我上来以为是等差数列什么的呢…结果就是暴力求解..
static class TaskA {
public void solve(int testNumber, InputReader in, OutputWriter out) {
int n = in.readInt();
int[] ary = in.readIntArray(n);
Set<Integer> set = new HashSet<>();
List<Integer> list = new ArrayList<Integer>();
for (int a : ary) {
set.add(a);
list.add(a);
}
boolean add = true;
while (set.size() <= 300 && add) {
add = false;
for (int i = 0; i < list.size(); i++) {
for (int j = i + 1; j < list.size(); j++) {
int nn = Math.abs(list.get(i) - list.get(j));
if (!set.contains(nn)) {
set.add(nn);
list.add(nn);
add = true;
break;
}
}
}
}
if (set.size() > 300) {
out.printLine("NO");
} else {
out.printLine("YES");
out.printLine(list.size());
for (int l : list) {
out.print(l + " ");
}
out.printLine();
}
}
}