比赛 |
NOIP2023模拟赛1 |
评测结果 |
WWWWWWWTTW |
题目名称 |
博士的密码 |
最终得分 |
0 |
用户昵称 |
yuanna |
运行时间 |
2.000 s |
代码语言 |
C++ |
内存使用 |
1.15 MiB |
提交时间 |
2023-11-13 12:21:29 |
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
int N,M,inpt,a[45]={},b[45]={},num=0,tot=0;
int zhishu(int k)
{
int o=1;
for(int i=1;i<=k;i++)
o=o*2;
return o;
}
int main()
{
freopen("password1.in","r",stdin);
freopen("password1.out","w",stdout);
cin>>N>>M;
for(int i=1;i<=N;i++)
{
cin>>inpt;
if(inpt>M)
{
i=i-1;
N=N-1;
}
else
a[i]=inpt;
}
for(int i=1;i<=zhishu(N);i++)
{
b[1]=b[1]+1;
for(int j=1;j<=N;j++)
{
if(b[j]==2)
{
b[j]=0;
b[j+1]=b[j+1]+1;
}
}
tot=0;
for(int j=1;j<=N;j++)
{
tot=tot+a[j]*b[j];
if(tot>M)
break;
}
if(tot==M)
num=num+1;
}
cout<<num;
return 0;
}