1 solutions
-
0
C++ :
#include<iostream> #define MAXN 9999999 using namespace std; const int N = 21; int a[N],n,k,t[N],book[N],ans=MAXN; void dfs(int step) { if(step==n+1){ int tot=0; for(int i=1;i<=k;i++){ tot=max(tot,a[i]); } if(tot<ans) ans=tot; return ; } for(int i=1;i<=k;i++) for(int j=1;j<=n;j++){ if(book[j]==0){ book[j]=1; a[i]+=t[j]; dfs(step+1); book[j]=0; a[i]-=t[j]; } } return ; } int main() { cin>>n>>k; for(int i=1;i<=n;i++) cin>>t[i]; dfs(1); cout<<ans<<endl; return 0; }
- 1
Information
- ID
- 687
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By