比赛 Asm.Def战记之圣地亚哥“杯2015 评测结果 WAWWAWAAAW
题目名称 Asm.Def的枪榴弹 最终得分 50
用户昵称 fengchenxue 运行时间 0.014 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-10-31 11:59:02
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<vector>
#include<cstdlib>
#include<cstring>
#include<string>
#include<ctime>
using namespace std;
struct str{
	int ai,bi,ci,di,ei,h;
}a[16],b[16];

int main()
{
	freopen("asm_grenade.in","r",stdin);
	freopen("asm_grenade.out","w",stdout);
	int n,k0,k1,k2;
	int s1,s2,s3;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i].ai);
	}
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i].bi);
	}
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i].ci);
	}
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i].di);
	}
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i].ei);
	}
	cin>>k0>>k1>>k2;
	b[0].ci=k0;
	b[0].di=k1;
	b[0].ei=k2;
	b[0].h=k0+k1+k2;
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<i;j++)
		{
			s1=0;
			s2=0;
			s3=0;
		//	if(i==2&&j==1) printf("%d %d %d\n",a[i].ai,b[j].ci,b[j].ei);
			if(a[i].ai-b[j].ci<=b[j].ei&&a[i].bi-b[j].di<=b[i].ei&&a[i].ai-b[j].ci+a[i].bi-b[j].di<=b[i].ei)
			{
			//if(i==2&&j==1) cout<<"1";
				if(b[j].h-a[i].ai-a[i].bi+a[i].ci+a[i].di+a[i].ei>b[i].h)
				{
					
				b[i].h=b[j].h-a[i].ai-a[i].bi+a[i].ci+a[i].di+a[i].ei;//i 关卡 j开始 a关卡 b榴弹 
				if(a[i].ai>b[j].ci)
				{
					
					s3=b[j].ci-a[i].ai;//i 关卡 j开始 a关卡 b榴弹 
				}
				else{
					s1=b[j].ci-a[i].ai;
					
				}
				if(a[i].bi>b[j].di)
				{
					
					s3=s3+b[j].di-a[i].bi;
				}
				else{
					s2=b[j].di-a[i].bi;
					
				}
				s1=s1+a[i].ci;
				s2=s2+a[i].di;
				s3=s3+a[i].ei+b[j].ei;
				b[i].ci=s1;
				b[i].di=s2;
				b[i].ei=s3;//i 关卡 j开始 a关卡 b榴弹 
				// cout<<i<<" "<<b[i].ei<<endl;
			    }
			}
		}
	}
	
	int ans=0;
	
	for(int i=0;i<=n;i++)
	{
	
		ans=max(ans,b[i].h); 
	}
//	cout<<b[1].h<<endl;
	cout<<ans;
	return 0;
}