有n个钱包。钱包里有钱(废话)
你本来想独吞,但是你有2个最佳损友,要和你一起分
你要保证你分到的钱大于等于损友分到的钱。
但为了不伤和气,你要让你自己的钱在领先损友的情况下最少。
求你分到的钱。
可能对题意不是很清楚。
#include<bits/stdc++.h>
using namespace std;
int n,a[27];
int f[2007];
int main(){
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int sum=0;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i],sum+=a[i];
f[0]=1;
for(int i=1;i<=n;i++){
for(int j=sum;j>=a[i];j--){
f[j]|=f[j-a[i]];
}
}
for(int i=1;i<=sum;i++){
if(f[i]&&3*i>sum){
cout<<i;
return 0;
}
}
return 0;
}
错误数据:
in
10
32
3
35
49
15
36
29
48
17
48
out
109