如何在iis下建设网站,网络服务公司简介,中小企业网站建设多少钱,免费企业黄页网站入口思路#xff1a;
#xff08;1#xff09;题目要求将集合A划分为B#xff0c;C两组#xff0c;使得C中任意数都不是B中的除数
#xff08;2#xff09;直观感受#xff0c;只要让C中数比B中大#xff0c;则满足条件#xff0c;不妨只取最大的放入C中#xff1b;
…思路
1题目要求将集合A划分为BC两组使得C中任意数都不是B中的除数
2直观感受只要让C中数比B中大则满足条件不妨只取最大的放入C中
3若不能如此划分即A中所有数都一样大则一定不能满足条件
4这意味着对于这种划分方法能划分就一定能划分不能划分就一定不能划分于是只要输入后找到最大值及其数量若等于n则输出-1否则输出cnt个极大值再输出所有非极大值即可。
代码
#includeiostream
#includecstdio
#includealgorithm
#includecstringusing namespace std;typedef long long LL;const int N 1e3 10;
LL a[N];
LL n;int main()
{int t;cin t;while(t --){cin n;LL Max 0, cnt 0;for (int i 1; i n; i){cin a[i];Max max(a[i], Max);}for (int i 1; i n; i){if (a[i] Max)cnt;}if (cntn){cout -1 endl;continue;}cout n - cnt cnt \n;for (int i 1; i n; i){if (a[i]!Max)cout a[i] ;}cout endl;for (int i 1; i cnt; i){cout Max ;}cout endl;}return 0;
}