1 solutions
-
0
#include<bits/stdc++.h> using namespace std; const int N=15; int a[N]; int main() { int n; cin>>n; int s=0; for(int i=0;i<n;i++) //获取物资 { cin>>a[i]; s+=a[i]; } int d=2e9; int ans=0; for(int i=0;i<(1<<n);i++) //枚举所有的选择 { int x=0; for(int j=0;j<n;j++) { if(i>>j&1) //第j个物品在第一个区域 { x+=a[j]; } } int t=s-x; if(abs(t-x)<d) { d=abs(t-x); ans=min(t,x); } } cout<<s-ans<<" "<<ans; return 0; }
- 1
Information
- ID
- 695
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 5
- Tags
- # Submissions
- 46
- Accepted
- 17
- Uploaded By