记录编号 |
597540 |
评测结果 |
ATTTEEEEEE |
题目名称 |
仪式感 |
最终得分 |
10 |
用户昵称 |
黄天乐 |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
7.506 s |
提交时间 |
2024-11-29 12:01:00 |
内存使用 |
3.16 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,m;
const int MAXN=105;
int a[MAXN];
int vis[MAXN],b[MAXN];
int ans1=1e9,ans2;
int gcd(int a,int b){
if(b==0)return a;
else return gcd(b,a%b);
}
void dfs(int cnt,int k){
if(cnt==n+1){
int cnt1=0,minx=1e9;
for(int i=1;i<=n;i++){
if(vis[i]==1){
b[++cnt1]=a[i];
minx=min(minx,a[i]);
}
}
if(cnt1==0)return ;
for(int j=1;j<=cnt1;j++){
if(b[j]%k!=0)return ;
}
for(int i=k+1;i<=minx;i++){
int q=0;
for(int j=1;j<=cnt1;j++){
if(b[j]%i==0)q++;
}
if(q==cnt1)return ;
}
ans2=max(ans2,cnt1);
ans1=min(ans1,cnt1);
return ;
}
for(int i=1;i<=2;i++){
if(!vis[cnt]){
vis[cnt]=i;
dfs(cnt+1,k);
vis[cnt]=0;
}
}
}
int main(){
freopen("yishigan.in","r",stdin);
freopen("yishigan.out","w",stdout);
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int k=1;k<=m;k++){
memset(vis,0,sizeof(vis));
ans1=1e9,ans2=0;
dfs(1,k);
if(ans1==1e9)cout<<-1<<' ';
else cout<<ans1<<' ';
if(ans2==0)cout<<-1<<endl;
else cout<<ans2<<endl;
}
return 0;
}