CF1220D.Alex and Julian

普及+/提高

通过率:0%

AC君温馨提醒

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

题目描述

男孩 Dima 送给 Julian 一份生日礼物——一个由正整数组成的集合 BB。然而,他并不知道 Julian 讨厌集合,但却非常喜欢二分图!

Julian 差点因此感到不快,但她的朋友 Alex 说,他可以用这个集合构建一个无向图:令所有整数为顶点,如果 ∣i−j∣|i-j| 属于 BB,则连接任意两个 ii 和 jj。

不幸的是,Julian 并不喜欢用 BB 构建出来的图。Alex 决定补救,所以他想从 BB 中删除一些数,使得用新集合构建的图是二分图。难点在于,这个图有无限多个顶点和边!Alex 无法独自完成这个任务,于是请求你的帮助。请编写程序,从 BB 中删除最少数量的元素,使得用新集合构建的图是二分图。

回忆一下,若一个图的所有顶点可以分为两个不相交的集合,使得每条边都连接这两个集合中的顶点,则该图为二分图。

输入格式

第一行包含一个整数 n (1⩽n⩽200 000)n~(1 \leqslant n \leqslant 200\,000),表示 BB 的大小。

第二行包含 nn 个整数 b1,b2,…,bn (1⩽bi⩽1018)b_1, b_2, \ldots, b_n~(1 \leqslant b_i \leqslant 10^{18}),表示 BB 中的数,所有 bib_i 互不相同。

输出格式

第一行输出一个整数 kk,表示被删除元素的数量。第二行输出 kk 个整数,表示被删除的元素的值。

如果有多组答案,输出任意一组均可。

输入输出样例

  • 输入#1

    3
    1 2 3
    

    输出#1

    1
    2 
  • 输入#2

    2
    2 6
    

    输出#2

    0
    

说明/提示

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页