社区讨论
will老师的出发地
P1441砝码称重参与者 5已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @ly5t5sv6
- 此快照首次捕获于
- 2024/07/03 20:22 2 年前
- 此快照最后确认于
- 2025/11/20 06:51 4 个月前
CPP
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
long long n,m;
long long N;
long long jyx[300],a[30000],yx[200],maxx=-1;
int print()
{
memset(a,0,sizeof(a));
long long s=0,ans=0;
for(int i=1;i<=N;++i)
{
s=0;
for(int j=0;j<=n-m-1;++j)
if(i&(1<<j))s+=yx[j+1];
if(s!=0)a[s]++;
if(a[s]==1)ans++;
}
maxx=max(maxx,ans);
}
int locin(int k,int b)
{
for(int i=b;i<=m+k;++i)
{
yx[k]=jyx[i];
if(k==n-m)print();
else locin(k+1,i+1);
}
}
int main()
{
cin>>n>>m;
N=1<<(n-m);
for(int i=1;i<=n;++i)cin>>jyx[i];
locin(1,1);
cout<<maxx;
return 0;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...