6 solutions
-
1
枚举子集写法:
#include<bits/stdc++.h> using namespace std; const int N=25; int v[N]; int main(){ int n,V; cin>>n>>V; for(int i=0;i<n;i++){ cin>>v[i]; } int res=0; for(int i=1;i<1<<n;i++){ int s=0; for(int j=0;j<n;j++){ if(i>>j&1){ s+=v[j]; } } if(s<=V){ res=max(res,s); } } cout<<res; return 0; }
Information
- ID
- 229
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- # Submissions
- 79
- Accepted
- 22
- Uploaded By