CF1220D.Alex and Julian
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
男孩 Dima 送给 Julian 一份生日礼物——一个由正整数组成的集合 B。然而,他并不知道 Julian 讨厌集合,但却非常喜欢二分图!
Julian 差点因此感到不快,但她的朋友 Alex 说,他可以用这个集合构建一个无向图:令所有整数为顶点,如果 ∣i−j∣ 属于 B,则连接任意两个 i 和 j。
不幸的是,Julian 并不喜欢用 B 构建出来的图。Alex 决定补救,所以他想从 B 中删除一些数,使得用新集合构建的图是二分图。难点在于,这个图有无限多个顶点和边!Alex 无法独自完成这个任务,于是请求你的帮助。请编写程序,从 B 中删除最少数量的元素,使得用新集合构建的图是二分图。
回忆一下,若一个图的所有顶点可以分为两个不相交的集合,使得每条边都连接这两个集合中的顶点,则该图为二分图。
输入格式
第一行包含一个整数 n (1⩽n⩽200000),表示 B 的大小。
第二行包含 n 个整数 b1,b2,…,bn (1⩽bi⩽1018),表示 B 中的数,所有 bi 互不相同。
输出格式
第一行输出一个整数 k,表示被删除元素的数量。第二行输出 k 个整数,表示被删除的元素的值。
如果有多组答案,输出任意一组均可。
输入输出样例
输入#1
3 1 2 3
输出#1
1 2
输入#2
2 2 6
输出#2
0
说明/提示
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?