标签:printf 最大 图片 define clu inpu mil scan 化学
3 10
1 2 10
5
#include <cstdio> #include <iostream> #include <algorithm> #include <cstring> #include <cmath> #include <iostream> #define ll long long using namespace std; ll coss[50],f[1<<22]; ll n,m,tot,nn,anss=0; void dfs1(int now,int co){ if(co>m) return; if(now==nn+1){ f[++tot]=co; return; } dfs1(now+1,co+coss[now]); dfs1(now+1,co); } void dfs2(int now,int co){ if(co>m) return; if(now==n+1){ int l=1,r=tot,mid,ans=0; while(l<=r){ mid=(l+r)/2; if(f[mid]+co<=m) ans=mid,l=mid+1; else r=mid-1; } anss+=ans; return; } dfs2(now+1,co+coss[now]); dfs2(now+1,co); } int main() { scanf("%lld%lld",&n,&m);nn=n/2; for(int i=1;i<=n;i++) scanf("%lld",&coss[i]); dfs1(1,0); sort(f+1,f+tot+1); dfs2(nn+1,0); printf("%lld",anss); return 0; }
标签:printf 最大 图片 define clu inpu mil scan 化学
原文地址:https://www.cnblogs.com/renjianshige/p/9571683.html