#P402. 数的排序
数的排序
题目描述:
给定个非负整数以及个正整数,你需要根据以下规则对这个整数进行排序:
能被整除的最为优先
能被整除的次优先
能被整除的第优先
整数大的优先
例如:
的情况下,整数排在前面,因为能被整除,最为优先,因此的优先级比高,而和都能被,整除,因为,因此优先级比高。
同理:的优先级比高。
显然:除去个的公倍数外,的优先级是最高的,因为能被任意非整数整除。
请你为这个数排序吧!
输入格式:
第一行两个正整数,表示有个非负整数以及条整除优先规则。
第二行,个正整数,表示
第三行,个非负整数。
输出格式:
个整数,彼此以单个空格隔开,表示对它们排序后的结果。
样例:
6 2
3 4
0 3 4 6 12 24
24 12 0 6 3 4
4 4
2 3 5 7
2 10 14 105
10 14 2 105
提示:
样例:
能被(也就是)整除的有,而不能,因此的优先级低于;
当中,没有能被(也就是)整除的;
当中,能被(也就是)整除,因此的优先级高于;
当中,能被(也就是)整除,因此优先级高于;
最终得到优先级排序:
数据约束:
$1\le N \le 3\times10^3,0 \le k\le 30,1\le a_i \le 100,0\le val \le 10^6$,数据保证个数彼此不相等。