CF1859A题解
CF1859A题解
思路
考虑一种极端情况, 数组内的数全部比 大,这样也无法整除,所以这就是这道题的突破口。我们让 数组内的数全部比 里的大,最方便的实现方法就是把原数组内的最大的数放进 数组,剩下的放进 数组。注意特判无解情况:原数组内的数一样,这样 数组全部是最大数, 数组就空了。
代码
#include<bits/stdc++.h> using namespace std; int a[10010]; int main() { int T; cin>>T; while(T--) { int n; cin>>n; int mx=0; for(int i=1;i<=n;i++) { cin>>a[i]; mx=max(mx,a[i]); } int cnt=0; for(int i=1;i<=n;i++) { if(a[i]==mx) cnt++; } if(cnt==n) { cout<<-1<<"\n"; continue; } cout<<n-cnt<<" "<<cnt<<"\n"; for(int i=1;i<=n;i++) { if(a[i]!=mx) cout<<a[i]<<" "; } cout<<'\n'; for(int i=1;i<=n;i++) { if(a[i]==mx) cout<<a[i]<<" "; } cout<<"\n"; } return 0; }
本文作者:merlinkkk
本文链接:https://www.cnblogs.com/merlinkkk/p/18306109
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步