比赛 2026.9.12 评测结果 TTTTTTTTTT
题目名称 分饼干 最终得分 0
用户昵称 0814d 运行时间 11.005 s
代码语言 C++ 内存使用 3.36 MiB
提交时间 2026-09-12 10:07:07
显示代码纯文本
//#include<bits/stdc++.h>
//using namespace std;
//int n,a[1005];
//int total;
//bool check(int ans){
//    int cnt=0,cnt2=0;
//    for(int i=n;i>=1;i--){
//        if(cnt+a[i]>ans){
//            if(cnt2+a[i]<=ans){
//                cnt2+=a[i];
//            }
//        }else{
//            cnt+=a[i];
//        }
//    }
//    if(cnt==ans&&cnt2==ans){
//        return true;
//    }
//    return false;
//}
//int main(){
//    cin>>n;
//    for(int i=1;i<=n;i++){
//        cin>>a[i];
//        total+=a[i];
//    }
//    cout<<total<<" ";
//    if(n==1){
//        cout<<0;return 0;
//    }
//    sort(a+1,a+n+1);
//    int l=1,r=total;
//    while(l<r){
//        int mid=(l+r)/2;
//        if(check(mid)){
//            l=mid+1;
//        }else{
//            r=mid-1;
//        } 
//    }
//    cout<<r;
//    return 0;
//} 
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[1005],b[1005],maxn;
void check(){
    int cnt1=0,cnt2=0;
    for(int i=1;i<=n;i++){
        if(b[i]==1){
            cnt1+=a[i];
        }else if(b[i]==2){
            cnt2+=a[i];
        }
    }
    if(cnt1==cnt2){
        maxn=max(maxn,cnt1);
    }
    return;
}
void search(int t){
    if(t>n){
        check();
        return;
    }
    for(int i=0;i<=2;i++){
        b[t]=i;
        search(t+1);
    }
}
signed main(){
    freopen("cookie.in","r",stdin);
    freopen("cookie.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    search(1);
    cout<<maxn;
    return 0;
}