比赛 Asm.Def战记之圣地亚哥“杯2015 评测结果 AAAAAAATTT
题目名称 Asm.Def的枪榴弹 最终得分 70
用户昵称 asddddd 运行时间 3.896 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-10-31 09:26:21
显示代码纯文本
//
//  main.cpp
//  asm_grenade
//
//  Created by apple on 15/10/31.
//  Copyright (c) 2015年 刘泽群. All rights reserved.
//

#include <iostream>
#include <cstdio>
#include <vector>
#define maxn 15
using namespace std;
int ai[maxn],bi[maxn],ci[maxn],di[maxn],ei[maxn];
struct room{
    int a,b,c,d,e;
};
vector<room>hh;
int maxx=0;
void DFS(int c,int jia,int yi,int bing){
    if (jia+yi+bing>maxx) {
        maxx=jia+yi+bing;
    }
    for (int i=0; i<hh.size(); i++) {
        if (!((c>>i)&1)) {
            room &e=hh[i];
            int k=jia-e.a;
            int temp=bing;
            if (k<0) {
                temp+=k;
            }
            int s=yi-e.b;
            if (s<0) {
                temp+=s;
            }
            if (temp>=0) {
                DFS((c|(1<<i)), max(0,max(k,0)+e.c), max(0,max(s, 0)+e.d), temp+e.e);
            }
        }
    }
}
int main() {
	freopen("asm_grenade.in","r",stdin);
	freopen("asm_grenade.out","w",stdout);
    ios::sync_with_stdio(0);
    int n;
    cin>>n;
    for (int i=0; i<n; i++) {
        cin>>ai[i];
    }
    for (int i=0; i<n; i++) {
        cin>>bi[i];
    }
    for (int i=0; i<n; i++) {
        cin>>ci[i];
    }
    for (int i=0; i<n; i++) {
        cin>>di[i];
    }
    for (int i=0; i<n; i++) {
        cin>>ei[i];
    }
    for (int i=0; i<n; i++) {
            hh.push_back((room){ai[i],bi[i],ci[i],di[i],ei[i]});
    }
    int tea,teb,tec;
    cin>>tea>>teb>>tec;
    DFS(1<<(n+1), tea, teb, tec);
    cout<<maxx;
}