比赛 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;
}