1 solutions
-
0
C++ :
#include<iostream> using namespace std; const int N = 55; int n,c,ci[N],book[N],ans; void dfs(int sum,int k) { if(sum>c){ if(sum-k>ans) ans=sum-k; return ; } for(int i=1;i<=n;i++){ if(book[i]==0){ book[i]=1; dfs(sum+ci[i],ci[i]); book[i]=0; } } return ; } int main() { cin>>n>>c; for(int i=1;i<=n;i++) cin>>ci[i]; dfs(0,0); cout<<ans<<endl; return 0; }
- 1
Information
- ID
- 18181
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By