社区讨论
10pts,求问思路是否正确
P15288「YLLOI-R3-T3」龙卷风参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mljcifai
- 此快照首次捕获于
- 2026/02/12 18:58 7 天前
- 此快照最后确认于
- 2026/02/12 19:26 7 天前
评测记录https://www.luogu.com.cn/record/262751369
代码
CPP#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int t;
int n,m;
int a[N],b[N],f;
int cnt;
int num;
int sum[N];
int ans;
int main(){
cin>>t;
while(t--){
ans=0;
bool v=0;
num=0;
cin>>n>>m;
memset(sum,0,sizeof(sum));
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]!=a[i-1]&&i>1) v=1;
}
sort(a+1,a+n+1);
f=1;
cnt=0;
for(int i=2;i<=n+1;i++){
if(a[i]!=a[i-1]){
sum[++cnt]=i-f;
f=i;
}
}
if(!v) ans++;
for(int i=1;i<n;i++){
if(n%i==0){
f=0;
for(int j=1;j<=cnt;j++) if(sum[j]%(n/i)!=0) f=1;
if(!f) ans++;
if(m%n>=i&&!f) num=ans;
}
}
cout<<(m/n)*ans+num<<"\n";
}
return 0;
}
求助~~
回复
共 0 条回复,欢迎继续交流。
正在加载回复...